File indexing completed on 2024-04-06 12:26:49
0001 #ifndef RecoMTD_DetLayers_MTDDetTray_H
0002 #define RecoMTD_DetLayers_MTDDetTray_H
0003
0004
0005
0006
0007
0008
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
0020 MTDDetTray(std::vector<const GeomDet*>::const_iterator first, std::vector<const GeomDet*>::const_iterator last);
0021
0022
0023 MTDDetTray(const std::vector<const GeomDet*>& dets);
0024
0025
0026 ~MTDDetTray() override;
0027
0028
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