Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:49

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