Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:27

0001 #ifndef DetLayers_ForwardDetRingOneZ_H
0002 #define DetLayers_ForwardDetRingOneZ_H
0003 
0004 /** \class ForwardDetRingOneZ
0005  *  A ring of detectors, all having the same BoundDisk.
0006  */
0007 
0008 #include "TrackingTools/DetLayers/interface/ForwardDetRing.h"
0009 
0010 class ForwardDetRingOneZ : public ForwardDetRing {
0011 public:
0012   /// Construct from iterators on Det*.
0013   ForwardDetRingOneZ(std::vector<const GeomDet*>::const_iterator first,
0014                      std::vector<const GeomDet*>::const_iterator last);
0015 
0016   // Construct from a std::vector of Det*.
0017   ForwardDetRingOneZ(const std::vector<const GeomDet*>& dets);
0018 
0019   ~ForwardDetRingOneZ() override;
0020 
0021   const std::vector<const GeomDet*>& basicComponents() const override { return theDets; }
0022 
0023 protected:
0024   bool add(int idet,
0025            std::vector<DetWithState>& result,
0026            const TrajectoryStateOnSurface& tsos,
0027            const Propagator& prop,
0028            const MeasurementEstimator& est) const;
0029 
0030 private:
0031   std::vector<const GeomDet*> theDets;
0032 
0033   void initialize();
0034 };
0035 #endif