File indexing completed on 2024-04-06 12:26:52
0001 #ifndef DetLayers_MuDetRing_H
0002 #define DetLayers_MuDetRing_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "TrackingTools/DetLayers/interface/ForwardDetRingOneZ.h"
0012 #include "Utilities/BinningTools/interface/PeriodicBinFinderInPhi.h"
0013
0014 class GeomDet;
0015
0016 class MuDetRing : public ForwardDetRingOneZ {
0017 public:
0018
0019 MuDetRing(std::vector<const GeomDet*>::const_iterator first, std::vector<const GeomDet*>::const_iterator last);
0020
0021
0022 MuDetRing(const std::vector<const GeomDet*>& dets);
0023
0024 ~MuDetRing() override;
0025
0026
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