File indexing completed on 2024-04-06 12:27:13
0001 #ifndef Navigation_MuonNavigableLayer_H
0002 #define Navigation_MuonNavigableLayer_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #include "RecoMuon/Navigation/interface/MuonDetLayerMap.h"
0018 #include "RecoMuon/Navigation/interface/MuonEtaRange.h"
0019
0020 class DetLayer;
0021 class BarrelDetLayer;
0022
0023 #include "TrackingTools/DetLayers/interface/NavigableLayer.h"
0024
0025 class MuonNavigableLayer : public NavigableLayer {
0026 public:
0027
0028 std::vector<const DetLayer*> nextLayers(NavigationDirection dir) const override = 0;
0029
0030
0031 std::vector<const DetLayer*> nextLayers(const FreeTrajectoryState& fts, PropagationDirection dir) const override = 0;
0032
0033 std::vector<const DetLayer*> compatibleLayers(NavigationDirection dir) const override = 0;
0034
0035
0036 std::vector<const DetLayer*> compatibleLayers(const FreeTrajectoryState& fts,
0037 PropagationDirection dir) const override = 0;
0038
0039
0040 const DetLayer* detLayer() const override = 0;
0041
0042
0043 void setDetLayer(const DetLayer*) override = 0;
0044
0045 MuonEtaRange trackingRange(const FreeTrajectoryState& fts) const;
0046
0047 bool isInsideOut(const FreeTrajectoryState& fts) const;
0048 };
0049 #endif