CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoLocalMuon/DTSegment/src/DTRecSegment2DBaseAlgo.h

Go to the documentation of this file.
00001 #ifndef DTSegment_DTRecSegment2DBaseAlgo_h
00002 #define DTSegment_DTRecSegment2DBaseAlgo_h
00003 
00014 /* Base Class Headers */
00015 
00016 /* Collaborating Class Declarations */
00017 namespace edm {
00018   class ParameterSet;
00019   class EventSetup;
00020 }
00021 #include "DataFormats/Common/interface/OwnVector.h"
00022 #include "DataFormats/DTRecHit/interface/DTSLRecSegment2D.h"
00023 #include "DataFormats/DTRecHit/interface/DTRecHit1DPair.h"
00024 class DTSuperLayer;
00025 
00026 /* C++ Headers */
00027 #include <vector>
00028 #include <string>
00029 
00030 /* ====================================================================== */
00031 
00032 /* Class DTRecSegment2DBaseAlgo Interface */
00033 
00034 class DTRecSegment2DBaseAlgo{
00035 
00036   public:
00037 
00039     DTRecSegment2DBaseAlgo(const edm::ParameterSet& ) {}
00040 
00042     virtual ~DTRecSegment2DBaseAlgo() {}
00043 
00044 /* Operations */ 
00045     virtual edm::OwnVector<DTSLRecSegment2D>
00046       reconstruct(const DTSuperLayer* sl,
00047                   const std::vector<DTRecHit1DPair>& hits) = 0;
00048     
00049     virtual std::string algoName() const = 0;
00050     
00051     virtual  void setES(const edm::EventSetup& setup) = 0;
00052     
00053  protected:
00054     
00055   private:
00056 
00057 };
00058 #endif // DTSegment_DTRecSegment2DBaseAlgo_h