CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/RecoLocalMuon/DTSegment/src/DTRecSegment4DBaseAlgo.h

Go to the documentation of this file.
00001 #ifndef DTSegment_DTRecSegment4DBaseAlgo_h
00002 #define DTSegment_DTRecSegment4DBaseAlgo_h
00003 
00013 // Collaborating Class Declarations
00014 namespace edm {
00015   class ParameterSet;
00016   class EventSetup;
00017 }
00018 #include "DataFormats/Common/interface/OwnVector.h"
00019 #include "DataFormats/DTRecHit/interface/DTRecSegment4D.h"
00020 #include "DataFormats/DTRecHit/interface/DTRecSegment2DCollection.h"
00021 #include "DataFormats/DTRecHit/interface/DTRecHitCollection.h"
00022 
00023 #include "DataFormats/Common/interface/Handle.h"
00024 
00025 class DTChamberId;
00026 
00027 // C++ Headers
00028 #include <vector>
00029 #include <string>
00030 
00031 // ====================================================================== 
00032 
00033 // Class DTRecSegment4DBaseAlgo Interface
00034 
00035 class DTRecSegment4DBaseAlgo{
00036 
00037  public:
00038 
00040   DTRecSegment4DBaseAlgo(const edm::ParameterSet& ) {}
00041     
00043   virtual ~DTRecSegment4DBaseAlgo() {}
00044     
00045   // Operations
00046   virtual edm::OwnVector<DTRecSegment4D> reconstruct() = 0;
00047     
00048   virtual std::string algoName() const = 0;
00049   
00050   virtual void setES(const edm::EventSetup& setup) = 0;
00051   virtual void setDTRecHit1DContainer(edm::Handle<DTRecHitCollection> all1DHits) = 0;
00052   virtual void setDTRecSegment2DContainer(edm::Handle<DTRecSegment2DCollection> all2DSegments) = 0;
00053   virtual void setChamber(const DTChamberId &chId) = 0;
00054   virtual bool wants2DSegments() = 0;
00055    
00056  protected:
00057 
00058     
00059  private:
00060 
00061 };
00062 #endif