00001 #ifndef DetLayers_DetRodOneR_H 00002 #define DetLayers_DetRodOneR_H 00003 00008 #include "TrackingTools/DetLayers/interface/GeometricSearchDet.h" 00009 #include "TrackingTools/DetLayers/interface/DetRod.h" 00010 #include "TrackingTools/GeomPropagators/interface/Propagator.h" 00011 00012 class MeasurementEstimator; 00013 00014 class DetRodOneR : public DetRod { 00015 public: 00016 typedef std::vector<GeometricSearchDet*> DetContainer; 00017 00019 DetRodOneR(){}; 00020 00022 DetRodOneR( std::vector<const GeomDet*>::const_iterator first, 00023 std::vector<const GeomDet*>::const_iterator last); 00024 00026 DetRodOneR( const std::vector<const GeomDet*>& dets); 00027 00028 virtual ~DetRodOneR(); 00029 00030 virtual const std::vector<const GeomDet*>& basicComponents() const {return theDets;} 00031 00032 00033 00034 protected: 00036 00037 bool add( int idet, std::vector<DetWithState>& result, 00038 const TrajectoryStateOnSurface& startingState, 00039 const Propagator& prop, 00040 const MeasurementEstimator& est) const; 00041 00042 std::vector<const GeomDet*> theDets; 00043 00044 void initialize(); 00045 00046 }; 00047 00048 #endif