CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoMuon/DetLayers/interface/MuDetRing.h

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