Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:25:38

0001 #ifndef RecoMTD_DetLayers_MTDDetRing_H
0002 #define RecoMTD_DetLayers_MTDDetRing_H
0003 
0004 /** \class MTDDetRing
0005  *  A ring of periodic, possibly overlapping vertical detectors.
0006  *  Designed for the endcap timing layer.
0007  *
0008  *  \author L. Gray - FNAL
0009  */
0010 
0011 #include "TrackingTools/DetLayers/interface/ForwardDetRingOneZ.h"
0012 #include "Utilities/BinningTools/interface/PeriodicBinFinderInPhi.h"
0013 
0014 class GeomDet;
0015 
0016 class MTDDetRing : public ForwardDetRingOneZ {
0017 public:
0018   /// Construct from iterators on GeomDet*
0019   MTDDetRing(std::vector<const GeomDet*>::const_iterator first, std::vector<const GeomDet*>::const_iterator last);
0020 
0021   /// Construct from a vector of GeomDet*
0022   MTDDetRing(const std::vector<const GeomDet*>& dets);
0023 
0024   ~MTDDetRing() override;
0025 
0026   // GeometricSearchDet interface
0027 
0028   const std::vector<const GeometricSearchDet*>& components() const override;
0029 
0030   std::pair<bool, TrajectoryStateOnSurface> compatible(const TrajectoryStateOnSurface& ts,
0031                                                        const Propagator& prop,
0032                                                        const MeasurementEstimator& est) const override;
0033 
0034   std::vector<DetWithState> compatibleDets(const TrajectoryStateOnSurface& startingState,
0035                                            const Propagator& prop,
0036                                            const MeasurementEstimator& est) const override;
0037 
0038   std::vector<DetGroup> groupedCompatibleDets(const TrajectoryStateOnSurface& startingState,
0039                                               const Propagator& prop,
0040                                               const MeasurementEstimator& est) const override;
0041 
0042 private:
0043   typedef PeriodicBinFinderInPhi<float> BinFinderType;
0044   BinFinderType theBinFinder;
0045 
0046   void init();
0047 };
0048 #endif