CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/RecoLocalMuon/DTSegment/src/DTRefitAndCombineReco4D.h

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