CMS 3D CMS Logo

MuonNavigableLayer.h
Go to the documentation of this file.
1 #ifndef Navigation_MuonNavigableLayer_H
2 #define Navigation_MuonNavigableLayer_H
3 
19 
20 class DetLayer;
21 class BarrelDetLayer;
22 
24 
26 public:
28  std::vector<const DetLayer*> nextLayers(NavigationDirection dir) const override = 0;
29 
31  std::vector<const DetLayer*> nextLayers(const FreeTrajectoryState& fts, PropagationDirection dir) const override = 0;
32 
33  std::vector<const DetLayer*> compatibleLayers(NavigationDirection dir) const override = 0;
34 
36  std::vector<const DetLayer*> compatibleLayers(const FreeTrajectoryState& fts,
37  PropagationDirection dir) const override = 0;
38 
40  const DetLayer* detLayer() const override = 0;
41 
43  void setDetLayer(const DetLayer*) override = 0;
44 
46 
47  bool isInsideOut(const FreeTrajectoryState& fts) const;
48 };
49 #endif
const DetLayer * detLayer() const override=0
return DetLayer
PropagationDirection
void setDetLayer(const DetLayer *) override=0
set DetLayer
bool isInsideOut(const FreeTrajectoryState &fts) const
std::vector< const DetLayer * > compatibleLayers(NavigationDirection dir) const override=0
MuonEtaRange trackingRange(const FreeTrajectoryState &fts) const
std::vector< const DetLayer * > nextLayers(NavigationDirection dir) const override=0
NavigableLayer interface.