CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoMuon/DetLayers/interface/MuDetRod.h

Go to the documentation of this file.
00001 #ifndef DetLayers_MuDetRod_H
00002 #define DetLayers_MuDetRod_H
00003 
00014 #include "TrackingTools/DetLayers/interface/DetRodOneR.h"
00015 #include "TrackingTools/DetLayers/interface/PeriodicBinFinderInZ.h"
00016 #include "Utilities/BinningTools/interface/GenericBinFinderInZ.h"
00017 class GeomDet;
00018 
00019 class MuDetRod : public DetRodOneR {
00020  public:
00021 
00023   MuDetRod(std::vector<const GeomDet*>::const_iterator first,
00024            std::vector<const GeomDet*>::const_iterator last);
00025 
00027   MuDetRod(const std::vector<const GeomDet*>& dets);
00028 
00030   virtual ~MuDetRod();
00031 
00032 
00033   // GeometricSearchDet interface
00034 
00035   virtual const std::vector<const GeometricSearchDet*>& components() const;
00036 
00037   virtual std::pair<bool, TrajectoryStateOnSurface>
00038   compatible( const TrajectoryStateOnSurface& ts, const Propagator& prop, 
00039               const MeasurementEstimator& est) const;
00040 
00041   virtual std::vector<DetWithState> 
00042   compatibleDets( const TrajectoryStateOnSurface& startingState,
00043                   const Propagator& prop, 
00044                   const MeasurementEstimator& est) const;
00045 
00046   virtual std::vector<DetGroup> 
00047   groupedCompatibleDets( const TrajectoryStateOnSurface& startingState,
00048                          const Propagator& prop,
00049                          const MeasurementEstimator& est) const;
00050 
00051 
00052   virtual bool hasGroups() const {return false;}
00053 
00054  private:
00055   //typedef PeriodicBinFinderInZ<float>   BinFinderType;
00056   typedef GenericBinFinderInZ<float, GeomDet> BinFinderType;
00057   BinFinderType theBinFinder;
00058 
00059   void init();
00060 
00061 };
00062 
00063 #endif