CMS 3D CMS Logo

DTMeantimerPatternReco4D.h

Go to the documentation of this file.
00001 #ifndef DTSegment_DTMeantimerPatternReco4D_h
00002 #define DTSegment_DTMeantimerPatternReco4D_h
00003 
00015 // Base Class Headers
00016 #include "RecoLocalMuon/DTSegment/src/DTRecSegment4DBaseAlgo.h"
00017 
00018 class DTRecSegment2DBaseAlgo;
00019 
00020 // Collaborating Class Declarations
00021 namespace edm {
00022   class ParameterSet;
00023   class EventSetup;
00024 }
00025 class DTSegmentUpdator;
00026 //class DTSegmentCleaner;
00027 
00028 // C++ Headers
00029 #include <vector>
00030 //#include <utility>
00031 
00032 #include "Geometry/DTGeometry/interface/DTGeometry.h"
00033 #include "FWCore/Framework/interface/ESHandle.h"
00034 
00035 // ====================================================================== 
00036 class DTSegmentCand;
00037 class DTMeantimerPatternReco;
00038 
00039 // Class DTMeantimerPatternReco4D Interface 
00040 
00041 class DTMeantimerPatternReco4D : public DTRecSegment4DBaseAlgo {
00042 
00043  public:
00044 
00046   DTMeantimerPatternReco4D(const edm::ParameterSet& pset) ;
00047   
00049   virtual ~DTMeantimerPatternReco4D();
00050     
00052   virtual edm::OwnVector<DTRecSegment4D> reconstruct();
00053     
00054   virtual std::string algoName() const { return theAlgoName; }
00055 
00056   virtual void setES(const edm::EventSetup& setup);
00057   virtual void setDTRecHit1DContainer(edm::Handle<DTRecHitCollection> all1DHits);
00058   virtual void setDTRecSegment2DContainer(edm::Handle<DTRecSegment2DCollection> all2DSegments);
00059   virtual void setChamber(const DTChamberId &chId);
00060   virtual bool wants2DSegments(){return !allDTRecHits;}
00061 
00062  protected:
00063 
00064  private:
00065   std::vector<DTSegmentCand*> buildPhiSuperSegmentsCandidates();
00066 
00067   std::string theAlgoName;
00068 
00069   bool debug;
00070   // DTSegmentUpdator* theUpdator; // the updator and fitter
00071   // DTSegmentCleaner* theCleaner; // the cleaner
00072     
00073   edm::ESHandle<DTGeometry> theDTGeometry; // the DT geometry
00074 
00075   // The reconstruction 2D algorithm
00076   // For the 2D reco I use thei reconstructor!
00077   DTMeantimerPatternReco* the2DAlgo;
00078   
00079   // the updator
00080   DTSegmentUpdator *theUpdator;
00081 
00082   const DTChamber *theChamber;
00083 
00084   //the input type
00085   bool allDTRecHits;
00086 
00087   //  std::vector<DTRecHit1D> the1DPhiHits;
00088   std::vector<DTSLRecSegment2D> theSegments2DTheta; 
00089   std::vector<DTRecHit1DPair> theHitsFromPhi1;
00090   std::vector<DTRecHit1DPair> theHitsFromTheta;
00091   std::vector<DTRecHit1DPair> theHitsFromPhi2;
00092 };
00093 #endif

Generated on Tue Jun 9 17:43:54 2009 for CMSSW by  doxygen 1.5.4