Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DTSegment_DTRecSegment2DBaseAlgo_h
0002 #define DTSegment_DTRecSegment2DBaseAlgo_h
0003 
0004 /** \class DTRecSegment2DBaseAlgo
0005  *
0006  * Abstract aglo class to reconstruct segments in SL given a set of hits
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 /* Base Class Headers */
0013 
0014 /* Collaborating Class Declarations */
0015 namespace edm {
0016   class ParameterSet;
0017   class EventSetup;
0018 }  // namespace edm
0019 #include "DataFormats/Common/interface/OwnVector.h"
0020 #include "DataFormats/DTRecHit/interface/DTSLRecSegment2D.h"
0021 #include "DataFormats/DTRecHit/interface/DTRecHit1DPair.h"
0022 class DTSuperLayer;
0023 
0024 /* C++ Headers */
0025 #include <vector>
0026 #include <string>
0027 
0028 /* ====================================================================== */
0029 
0030 /* Class DTRecSegment2DBaseAlgo Interface */
0031 
0032 class DTRecSegment2DBaseAlgo {
0033 public:
0034   /// Constructor
0035   DTRecSegment2DBaseAlgo(const edm::ParameterSet&) {}
0036 
0037   /// Destructor
0038   virtual ~DTRecSegment2DBaseAlgo() {}
0039 
0040   /* Operations */
0041   virtual edm::OwnVector<DTSLRecSegment2D> reconstruct(const DTSuperLayer* sl,
0042                                                        const std::vector<DTRecHit1DPair>& hits) = 0;
0043 
0044   virtual std::string algoName() const = 0;
0045 
0046   virtual void setES(const edm::EventSetup& setup) = 0;
0047 
0048 protected:
0049 private:
0050 };
0051 #endif  // DTSegment_DTRecSegment2DBaseAlgo_h