CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/RecoMuon/DetLayers/interface/MuRodBarrelLayer.h

Go to the documentation of this file.
00001 #ifndef DetLayers_MuRodBarrelLayer_H
00002 #define DetLayers_MuRodBarrelLayer_H
00003 
00012 #include "TrackingTools/DetLayers/interface/RodBarrelLayer.h"
00013 #include "Utilities/BinningTools/interface/BaseBinFinder.h"
00014 
00015 class DetRod;
00016 class DetRodBuilder;
00017 class GeomDet;
00018 
00019 class MuRodBarrelLayer : public RodBarrelLayer {
00020 public:
00021 
00023   MuRodBarrelLayer(std::vector<const DetRod*>& rods);
00024 
00025   virtual ~MuRodBarrelLayer();
00026 
00027   // GeometricSearchDet interface
00028 
00029   virtual const std::vector<const GeomDet*>& basicComponents() const {return theBasicComps;}
00030 
00031   virtual const std::vector<const GeometricSearchDet*>& components() const;  
00032 
00033   virtual std::vector<DetWithState> 
00034   compatibleDets( const TrajectoryStateOnSurface& startingState,
00035                   const Propagator& prop, 
00036                   const MeasurementEstimator& est) const;
00037   
00038   virtual std::vector<DetGroup> 
00039   groupedCompatibleDets( const TrajectoryStateOnSurface& startingState,
00040                          const Propagator& prop,
00041                          const MeasurementEstimator& est) const;
00042 
00043 
00044   virtual bool hasGroups() const;
00045 
00046 
00047   // DetLayer interface
00048   virtual SubDetector subDetector() const;
00049 
00050   // Extension of the interface
00051 
00053   virtual const std::vector<const DetRod*>& rods() const {return theRods;}
00054 
00055 
00056 private:
00057 
00058   float xError(const TrajectoryStateOnSurface& tsos,
00059                const MeasurementEstimator& est) const;
00060 
00061   std::vector<const DetRod*> theRods;
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