File indexing completed on 2024-12-12 23:19:25
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
0016 #include <ostream>
0017
0018 class GeomDet;
0019
0020 class MTDDetTray : public DetRodOneR {
0021 public:
0022
0023 MTDDetTray(std::vector<const GeomDet*>::const_iterator first, std::vector<const GeomDet*>::const_iterator last);
0024
0025
0026 MTDDetTray(const std::vector<const GeomDet*>& dets);
0027
0028
0029 ~MTDDetTray() override;
0030
0031
0032
0033 const std::vector<const GeometricSearchDet*>& components() const override;
0034
0035 std::pair<bool, TrajectoryStateOnSurface> compatible(const TrajectoryStateOnSurface& ts,
0036 const Propagator& prop,
0037 const MeasurementEstimator& est) const override;
0038
0039 std::vector<DetWithState> compatibleDets(const TrajectoryStateOnSurface& startingState,
0040 const Propagator& prop,
0041 const MeasurementEstimator& est) const override;
0042
0043 std::vector<DetGroup> groupedCompatibleDets(const TrajectoryStateOnSurface& startingState,
0044 const Propagator& prop,
0045 const MeasurementEstimator& est) const override;
0046
0047 private:
0048 typedef GenericBinFinderInZ<float, GeomDet> BinFinderType;
0049 BinFinderType theBinFinder;
0050
0051 void init();
0052 };
0053
0054 #endif