Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:09

0001 #ifndef DTSegment_DTRecSegment2DProducer_h
0002 #define DTSegment_DTRecSegment2DProducer_h
0003 
0004 /** \class DTRecSegment2DProducer
0005  *
0006  * Producer for DT segment in one projection.
0007  *  
0008  * \author Stefano Lacaprara - INFN Legnaro <stefano.lacaprara@pd.infn.it>
0009  * \author Riccardo Bellan - INFN TO <riccardo.bellan@cern.ch>
0010  *
0011  */
0012 
0013 /* Base Class Headers */
0014 #include "FWCore/Framework/interface/stream/EDProducer.h"
0015 #include "DataFormats/DTRecHit/interface/DTRecHitCollection.h"
0016 
0017 namespace edm {
0018   class ParameterSet;
0019   class Event;
0020   class EventSetup;
0021 }  // namespace edm
0022 
0023 class DTRecSegment2DBaseAlgo;
0024 class DTGeometry;
0025 class MuonGeometryRecord;
0026 
0027 /* C++ Headers */
0028 
0029 /* ====================================================================== */
0030 
0031 /* Class DTRecSegment2DProducer Interface */
0032 
0033 class DTRecSegment2DProducer : public edm::stream::EDProducer<> {
0034 public:
0035   /// Constructor
0036   DTRecSegment2DProducer(const edm::ParameterSet&);
0037 
0038   /// Destructor
0039   ~DTRecSegment2DProducer() override;
0040 
0041   // Operations
0042 
0043   /// The method which produces the 2D-segments
0044   void produce(edm::Event& event, const edm::EventSetup& setup) override;
0045 
0046 protected:
0047 private:
0048   // Switch on verbosity
0049   bool debug;
0050 
0051   // The 2D-segments reconstruction algorithm
0052   std::unique_ptr<DTRecSegment2DBaseAlgo> theAlgo;
0053 
0054   edm::EDGetTokenT<DTRecHitCollection> recHits1DToken_;
0055   const edm::ESGetToken<DTGeometry, MuonGeometryRecord> dtGeomToken_;
0056 };
0057 #endif  // DTRecHit_DTRecSegment2DProducer_h