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 
25 
27 
28  public:
29 
31  virtual std::vector<const DetLayer*> nextLayers(NavigationDirection dir) const=0;
32 
34  virtual std::vector<const DetLayer*> nextLayers(const FreeTrajectoryState& fts,
35  PropagationDirection dir) const=0;
36 
37  virtual std::vector<const DetLayer*> compatibleLayers(NavigationDirection dir) const=0;
38 
40  virtual std::vector<const DetLayer*> compatibleLayers(const FreeTrajectoryState& fts,
41  PropagationDirection dir) const=0;
42 
44  virtual const DetLayer* detLayer() const=0;
45 
47  virtual void setDetLayer(const DetLayer*)=0;
48 
50 
51  bool isInsideOut(const FreeTrajectoryState& fts) const;
52 
53 };
54 #endif
virtual void setDetLayer(const DetLayer *)=0
set DetLayer
PropagationDirection
bool isInsideOut(const FreeTrajectoryState &fts) const
virtual std::vector< const DetLayer * > compatibleLayers(NavigationDirection dir) const =0
virtual std::vector< const DetLayer * > nextLayers(NavigationDirection dir) const =0
NavigableLayer interface.
MuonEtaRange trackingRange(const FreeTrajectoryState &fts) const
dbl *** dir
Definition: mlp_gen.cc:35
virtual const DetLayer * detLayer() const =0
return DetLayer