File indexing completed on 2024-04-06 12:26:52
0001 #ifndef DetLayers_MuRingForwardLayer_H
0002 #define DetLayers_MuRingForwardLayer_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "TrackingTools/DetLayers/interface/RingedForwardLayer.h"
0012 #include "Utilities/BinningTools/interface/BaseBinFinder.h"
0013
0014 class ForwardDetRing;
0015 class ForwardDetRingBuilder;
0016 class GeomDet;
0017
0018 class MuRingForwardLayer : public RingedForwardLayer {
0019 public:
0020
0021 MuRingForwardLayer(const std::vector<const ForwardDetRing*>& rings);
0022
0023 ~MuRingForwardLayer() override;
0024
0025
0026
0027 const std::vector<const GeomDet*>& basicComponents() const override { return theBasicComps; }
0028
0029 const std::vector<const GeometricSearchDet*>& components() const override;
0030
0031 std::vector<DetWithState> compatibleDets(const TrajectoryStateOnSurface& startingState,
0032 const Propagator& prop,
0033 const MeasurementEstimator& est) const override;
0034
0035 std::vector<DetGroup> groupedCompatibleDets(const TrajectoryStateOnSurface& startingState,
0036 const Propagator& prop,
0037 const MeasurementEstimator& est) const override;
0038
0039
0040 SubDetector subDetector() const override;
0041
0042
0043
0044
0045 virtual const std::vector<const ForwardDetRing*>& rings() const { return theRings; }
0046
0047 private:
0048 std::vector<const ForwardDetRing*> theRings;
0049 std::vector<const GeometricSearchDet*> theComponents;
0050 std::vector<const GeomDet*> theBasicComps;
0051 BaseBinFinder<double>* theBinFinder;
0052 bool isOverlapping;
0053 };
0054 #endif