CMS 3D CMS Logo

MuonForwardNavigableLayer.h
Go to the documentation of this file.
1 #ifndef Navigation_MuonForwardNavigableLayer_H
2 #define Navigation_MuonForwardNavigableLayer_H
3 
17 /* Collaborating Class Declarations */
20 
21 class DetLayer;
22 class ForwardDetLayer;
23 
24 /* Base Class Headers */
26 
27 /* C++ Headers */
28 
29 /* ====================================================================== */
30 
31 /* Class MuonForwardNavigableLayer Interface */
32 
34 
35  public:
36 
38  const MapB& innerBarrel,
39  const MapE& outerEndcap,
40  const MapE& innerEndcap,
41  const MapB& allInnerBarrel,
42  const MapE& allOuterEndcap,
43  const MapE& allInnerEndcap) :
44  theDetLayer(fdl),
45  theInnerBarrelLayers(innerBarrel),
46  theOuterEndcapLayers(outerEndcap),
47  theInnerEndcapLayers(innerEndcap),
48  theAllInnerBarrelLayers(allInnerBarrel),
49  theAllOuterEndcapLayers(allOuterEndcap),
50  theAllInnerEndcapLayers(allInnerEndcap) {}
51 
54  const MapE& outerEndcap) :
55  theDetLayer(fdl),
56  theOuterEndcapLayers(outerEndcap) {}
59  const MapE& outerEndcap,
60  const MapE& allOuterEndcap) :
61  theDetLayer(fdl),
62  theOuterEndcapLayers(outerEndcap),
63  theAllOuterEndcapLayers(allOuterEndcap) {}
64 
65 
67  std::vector<const DetLayer*> nextLayers(NavigationDirection dir) const override;
68 
70  std::vector<const DetLayer*> nextLayers(const FreeTrajectoryState& fts,
71  PropagationDirection dir) const override;
72 
73  std::vector<const DetLayer*> compatibleLayers(NavigationDirection dir) const override;
74 
76  std::vector<const DetLayer*> compatibleLayers(const FreeTrajectoryState& fts,
77  PropagationDirection dir) const override;
79  const DetLayer* detLayer() const override;
80 
82  void setDetLayer(const DetLayer*) override;
83 
88 
92 
94  void setInwardLinks(const MapB&, const MapE&);
95  void setInwardCompatibleLinks(const MapB&, const MapE&);
96 
97  private:
98 
99  void pushResult(std::vector<const DetLayer*>& result,
100  const MapB& map) const;
101 
102  void pushResult(std::vector<const DetLayer*>& result,
103  const MapE& map) const;
104 
105  void pushResult(std::vector<const DetLayer*>& result,
106  const MapB& map,
107  const FreeTrajectoryState& fts) const;
108 
109  void pushResult(std::vector<const DetLayer*>& result,
110  const MapE& map, const
111  FreeTrajectoryState& fts) const;
112 
113  void pushCompatibleResult(std::vector<const DetLayer*>& result,
114  const MapB& map, const
115  FreeTrajectoryState& fts) const;
116 
117  void pushCompatibleResult(std::vector<const DetLayer*>& result,
118  const MapE& map, const
119  FreeTrajectoryState& fts) const;
120 
121 
122  private:
123 
131 
132 };
133 #endif
std::vector< const DetLayer * > nextLayers(NavigationDirection dir) const override
NavigableLayer interface.
const ForwardDetLayer * theDetLayer
MuonForwardNavigableLayer(const ForwardDetLayer *fdl, const MapE &outerEndcap)
Constructor with outer layers only.
std::vector< const DetLayer * > compatibleLayers(NavigationDirection dir) const override
std::map< const BarrelDetLayer *, MuonEtaRange, MuonDetLayerComp > MapB
PropagationDirection
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
void setInwardLinks(const MapB &, const MapE &)
set inward links
void pushCompatibleResult(std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const
MuonForwardNavigableLayer(const ForwardDetLayer *fdl, const MapE &outerEndcap, const MapE &allOuterEndcap)
Constructor with all outer layers only.
std::map< const ForwardDetLayer *, MuonEtaRange, MuonDetLayerComp > MapE
void setDetLayer(const DetLayer *) override
set DetLayer
const DetLayer * detLayer() const override
return DetLayer
MapE getOuterEndcapLayers() const
Operations.
void setInwardCompatibleLinks(const MapB &, const MapE &)
MuonForwardNavigableLayer(const ForwardDetLayer *fdl, const MapB &innerBarrel, const MapE &outerEndcap, const MapE &innerEndcap, const MapB &allInnerBarrel, const MapE &allOuterEndcap, const MapE &allInnerEndcap)
dbl *** dir
Definition: mlp_gen.cc:35