CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/RecoMuon/DetLayers/interface/MuRingForwardLayer.h

Go to the documentation of this file.
00001 #ifndef DetLayers_MuRingForwardLayer_H
00002 #define DetLayers_MuRingForwardLayer_H
00003 
00013 #include "TrackingTools/DetLayers/interface/RingedForwardLayer.h"
00014 #include "Utilities/BinningTools/interface/BaseBinFinder.h"
00015 
00016 class ForwardDetRing;
00017 class ForwardDetRingBuilder;
00018 class GeomDet;
00019 
00020 class MuRingForwardLayer : public RingedForwardLayer {
00021 
00022  public:  
00023 
00025   MuRingForwardLayer(const std::vector<const ForwardDetRing*>& rings);
00026 
00027   virtual ~MuRingForwardLayer();
00028 
00029 
00030   // GeometricSearchDet interface
00031 
00032   virtual const std::vector<const GeomDet*>& basicComponents() const {return theBasicComps;}
00033   
00034   virtual const std::vector<const GeometricSearchDet*>& components() const;
00035 
00036   virtual std::vector<DetWithState> 
00037   compatibleDets( const TrajectoryStateOnSurface& startingState,
00038                   const Propagator& prop, 
00039                   const MeasurementEstimator& est) const;
00040   
00041   virtual std::vector<DetGroup> 
00042   groupedCompatibleDets( const TrajectoryStateOnSurface& startingState,
00043                          const Propagator& prop,
00044                          const MeasurementEstimator& est) const;
00045 
00046 
00047   virtual bool hasGroups() const;
00048 
00049 
00050   // DetLayer interface
00051   virtual SubDetector subDetector() const;
00052 
00053 
00054   // Extension of the interface
00055 
00057   virtual const std::vector<const ForwardDetRing*>& rings() const {return theRings;}
00058 
00059 
00060  private:  
00061   std::vector<const ForwardDetRing*> theRings;
00062   std::vector <const GeometricSearchDet*> theComponents; // duplication of the above
00063   std::vector<const GeomDet*> theBasicComps; // All chambers
00064   BaseBinFinder<double> * theBinFinder;
00065   bool isOverlapping;
00066 
00067 };
00068 #endif
00069