Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DTSegment_DTRecSegment4DBaseAlgo_h
0002 #define DTSegment_DTRecSegment4DBaseAlgo_h
0003 
0004 /** \class DTRecSegment4DBaseAlgo
0005  *
0006  * Abstract algo class to reconstruct 4D-segments in chamber given a set of 2D-segment
0007  *
0008  * \author Riccardo Bellan - INFN TO <riccardo.bellan@cern.ch>
0009  */
0010 
0011 // Collaborating Class Declarations
0012 namespace edm {
0013   class ParameterSet;
0014   class EventSetup;
0015 }  // namespace edm
0016 #include "DataFormats/Common/interface/OwnVector.h"
0017 #include "DataFormats/DTRecHit/interface/DTRecSegment4D.h"
0018 #include "DataFormats/DTRecHit/interface/DTRecSegment2DCollection.h"
0019 #include "DataFormats/DTRecHit/interface/DTRecHitCollection.h"
0020 
0021 #include "DataFormats/Common/interface/Handle.h"
0022 
0023 class DTChamberId;
0024 
0025 // C++ Headers
0026 #include <vector>
0027 #include <string>
0028 
0029 // ======================================================================
0030 
0031 // Class DTRecSegment4DBaseAlgo Interface
0032 
0033 class DTRecSegment4DBaseAlgo {
0034 public:
0035   /// Constructor
0036   DTRecSegment4DBaseAlgo(const edm::ParameterSet&) {}
0037 
0038   /// Destructor
0039   virtual ~DTRecSegment4DBaseAlgo() {}
0040 
0041   // Operations
0042   virtual edm::OwnVector<DTRecSegment4D> reconstruct() = 0;
0043 
0044   virtual std::string algoName() const = 0;
0045 
0046   virtual void setES(const edm::EventSetup& setup) = 0;
0047   virtual void setDTRecHit1DContainer(edm::Handle<DTRecHitCollection> all1DHits) = 0;
0048   virtual void setDTRecSegment2DContainer(edm::Handle<DTRecSegment2DCollection> all2DSegments) = 0;
0049   virtual void setChamber(const DTChamberId& chId) = 0;
0050   virtual bool wants2DSegments() = 0;
0051 
0052 protected:
0053 private:
0054 };
0055 #endif