Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:31:31

0001 #ifndef DetLayers_DetRodOneR_H
0002 #define DetLayers_DetRodOneR_H
0003 
0004 /** \class DetRodOneR
0005  *  A rod of detectors, all having the same Plane.
0006  */
0007 
0008 #include "TrackingTools/DetLayers/interface/GeometricSearchDet.h"
0009 #include "TrackingTools/DetLayers/interface/DetRod.h"
0010 #include "TrackingTools/GeomPropagators/interface/Propagator.h"
0011 
0012 class MeasurementEstimator;
0013 
0014 class DetRodOneR : public DetRod {
0015 public:
0016   typedef std::vector<GeometricSearchDet*> DetContainer;
0017 
0018   /// Construct from iterators on GeomDet*
0019   DetRodOneR(std::vector<const GeomDet*>::const_iterator first, std::vector<const GeomDet*>::const_iterator last);
0020 
0021   /// Construct from a std::vector of GeomDet*
0022   DetRodOneR(const std::vector<const GeomDet*>& dets);
0023 
0024   ~DetRodOneR() override;
0025 
0026   const std::vector<const GeomDet*>& basicComponents() const override { return theDets; }
0027 
0028 protected:
0029   /// Query detector idet for compatible and add the output to result.
0030 
0031   bool add(int idet,
0032            std::vector<DetWithState>& result,
0033            const TrajectoryStateOnSurface& startingState,
0034            const Propagator& prop,
0035            const MeasurementEstimator& est) const;
0036 
0037   std::vector<const GeomDet*> theDets;
0038 
0039   void initialize();
0040 };
0041 
0042 #endif