CMS 3D CMS Logo

MuonBarrelNavigableLayer.h
Go to the documentation of this file.
1 #ifndef Navigation_MuonBarrelNavigableLayer_H
2 #define Navigation_MuonBarrelNavigableLayer_H
3 
20 /* Collaborating Class Declarations */
23 
24 class DetLayer;
25 class BarrelDetLayer;
26 
27 /* Base Class Headers */
29 /* C++ Headers */
30 
31 /* ====================================================================== */
32 
33 /* Class MuonBarrelNavigableLayer Interface */
34 
36 
37  public:
38 
41  const MapB& outerBarrel,
42  const MapB& innerBarrel,
43  const MapE& outerBackward,
44  const MapE& outerForward,
45  const MapE& innerBackward,
46  const MapE& innerForward) :
47  theDetLayer(bdl),
48  theOuterBarrelLayers(outerBarrel),
49  theInnerBarrelLayers(innerBarrel),
50  theOuterBackwardLayers(outerBackward),
51  theInnerBackwardLayers(innerBackward),
52  theOuterForwardLayers(outerForward),
53  theInnerForwardLayers(innerForward) {}
54 
56  const MapB& outerBarrel,
57  const MapB& innerBarrel,
58  const MapE& outerBackward,
59  const MapE& outerForward,
60  const MapE& innerBackward,
61  const MapE& innerForward,
62  const MapB& allOuterBarrel,
63  const MapB& allInnerBarrel,
64  const MapE& allOuterBackward,
65  const MapE& allOuterForward,
66  const MapE& allInnerBackward,
67  const MapE& allInnerForward) :
68  theDetLayer(bdl),
69  theOuterBarrelLayers(outerBarrel),
70  theInnerBarrelLayers(innerBarrel),
71  theOuterBackwardLayers(outerBackward),
72  theInnerBackwardLayers(innerBackward),
73  theOuterForwardLayers(outerForward),
74  theInnerForwardLayers(innerForward),
75  theAllOuterBarrelLayers(allOuterBarrel),
76  theAllInnerBarrelLayers(allInnerBarrel),
77  theAllOuterBackwardLayers(allOuterBackward),
78  theAllInnerBackwardLayers(allInnerBackward),
79  theAllOuterForwardLayers(allOuterForward),
80  theAllInnerForwardLayers(allInnerForward) {}
81 
84  const MapB& outerBarrel,
85  const MapE& outerBackward,
86  const MapE& outerForward) :
87  theDetLayer(bdl),
88  theOuterBarrelLayers(outerBarrel),
89  theOuterBackwardLayers(outerBackward),
90  theOuterForwardLayers(outerForward) { }
91 
93  const MapB& outerBarrel,
94  const MapE& outerBackward,
95  const MapE& outerForward,
96  const MapB& allOuterBarrel,
97  const MapE& allOuterBackward,
98  const MapE& allOuterForward) :
99  theDetLayer(bdl),
100  theOuterBarrelLayers(outerBarrel),
101  theOuterBackwardLayers(outerBackward),
102  theOuterForwardLayers(outerForward),
103  theAllOuterBarrelLayers(allOuterBarrel),
104  theAllOuterBackwardLayers(allOuterBackward),
105  theAllOuterForwardLayers(allOuterForward) {}
106 
108  std::vector<const DetLayer*> nextLayers(NavigationDirection dir) const override;
109 
111  std::vector<const DetLayer*> nextLayers(const FreeTrajectoryState& fts,
112  PropagationDirection dir) const override;
113 
114  std::vector<const DetLayer*> compatibleLayers(NavigationDirection dir) const override;
115 
117  std::vector<const DetLayer*> compatibleLayers(const FreeTrajectoryState& fts,
118  PropagationDirection dir) const override;
119 
121  const DetLayer* detLayer() const override;
122 
124  void setDetLayer(const DetLayer*) override;
125 
132 
139 
141  void setInwardLinks(const MapB&);
142  void setInwardCompatibleLinks(const MapB&);
143 
144  private:
145 
146  void pushResult(std::vector<const DetLayer*>& result,
147  const MapB& map) const;
148 
149  void pushResult(std::vector<const DetLayer*>& result,
150  const MapE& map) const;
151 
152  void pushResult(std::vector<const DetLayer*>& result,
153  const MapB& map, const
154  FreeTrajectoryState& fts) const;
155 
156  void pushResult(std::vector<const DetLayer*>& result,
157  const MapE& map, const
158  FreeTrajectoryState& fts) const;
159  void pushCompatibleResult(std::vector<const DetLayer*>& result,
160  const MapB& map, const
161  FreeTrajectoryState& fts) const;
162 
163  void pushCompatibleResult(std::vector<const DetLayer*>& result,
164  const MapE& map, const
165  FreeTrajectoryState& fts) const;
166 
167  private:
168 
182 
183 };
184 #endif
MuonBarrelNavigableLayer(BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward)
Constructor with outer layers only.
MuonBarrelNavigableLayer(const BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapB &allOuterBarrel, const MapE &allOuterBackward, const MapE &allOuterForward)
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
const BarrelDetLayer * theDetLayer
MuonBarrelNavigableLayer(BarrelDetLayer *bdl, const MapB &outerBarrel, const MapB &innerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapE &innerBackward, const MapE &innerForward, const MapB &allOuterBarrel, const MapB &allInnerBarrel, const MapE &allOuterBackward, const MapE &allOuterForward, const MapE &allInnerBackward, const MapE &allInnerForward)
std::map< const BarrelDetLayer *, MuonEtaRange, MuonDetLayerComp > MapB
PropagationDirection
void setDetLayer(const DetLayer *) override
set DetLayer
MuonBarrelNavigableLayer(BarrelDetLayer *bdl, const MapB &outerBarrel, const MapB &innerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapE &innerBackward, const MapE &innerForward)
Constructor.
void setInwardCompatibleLinks(const MapB &)
const DetLayer * detLayer() const override
return DetLayer
std::vector< const DetLayer * > compatibleLayers(NavigationDirection dir) const override
std::vector< const DetLayer * > nextLayers(NavigationDirection dir) const override
NavigableLayer interface.
std::map< const ForwardDetLayer *, MuonEtaRange, MuonDetLayerComp > MapE
void setInwardLinks(const MapB &)
set inward links
dbl *** dir
Definition: mlp_gen.cc:35
void pushCompatibleResult(std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const