CMS 3D CMS Logo

BTLNavigableLayer.h
Go to the documentation of this file.
1 #ifndef Navigation_BTLNavigableLayer_H
2 #define Navigation_BTLNavigableLayer_H
3 
15 /* Collaborating Class Declarations */
18 
19 class DetLayer;
20 class BarrelDetLayer;
21 
22 /* Base Class Headers */
24 /* C++ Headers */
25 
26 /* ====================================================================== */
27 
28 /* Class BTLNavigableLayer Interface */
29 
31 
32  public:
33 
36  const MapB& outerBarrel,
37  const MapB& innerBarrel,
38  const MapE& outerBackward,
39  const MapE& outerForward,
40  const MapE& innerBackward,
41  const MapE& innerForward) :
42  theDetLayer(bdl),
43  theOuterBarrelLayers(outerBarrel),
44  theInnerBarrelLayers(innerBarrel),
45  theOuterBackwardLayers(outerBackward),
46  theInnerBackwardLayers(innerBackward),
47  theOuterForwardLayers(outerForward),
48  theInnerForwardLayers(innerForward) {}
49 
51  const MapB& outerBarrel,
52  const MapB& innerBarrel,
53  const MapE& outerBackward,
54  const MapE& outerForward,
55  const MapE& innerBackward,
56  const MapE& innerForward,
57  const MapB& allOuterBarrel,
58  const MapB& allInnerBarrel,
59  const MapE& allOuterBackward,
60  const MapE& allOuterForward,
61  const MapE& allInnerBackward,
62  const MapE& allInnerForward) :
63  theDetLayer(bdl),
64  theOuterBarrelLayers(outerBarrel),
65  theInnerBarrelLayers(innerBarrel),
66  theOuterBackwardLayers(outerBackward),
67  theInnerBackwardLayers(innerBackward),
68  theOuterForwardLayers(outerForward),
69  theInnerForwardLayers(innerForward),
70  theAllOuterBarrelLayers(allOuterBarrel),
71  theAllInnerBarrelLayers(allInnerBarrel),
72  theAllOuterBackwardLayers(allOuterBackward),
73  theAllInnerBackwardLayers(allInnerBackward),
74  theAllOuterForwardLayers(allOuterForward),
75  theAllInnerForwardLayers(allInnerForward) {}
76 
79  const MapB& outerBarrel,
80  const MapE& outerBackward,
81  const MapE& outerForward) :
82  theDetLayer(bdl),
83  theOuterBarrelLayers(outerBarrel),
84  theOuterBackwardLayers(outerBackward),
85  theOuterForwardLayers(outerForward) { }
86 
88  const MapB& outerBarrel,
89  const MapE& outerBackward,
90  const MapE& outerForward,
91  const MapB& allOuterBarrel,
92  const MapE& allOuterBackward,
93  const MapE& allOuterForward) :
94  theDetLayer(bdl),
95  theOuterBarrelLayers(outerBarrel),
96  theOuterBackwardLayers(outerBackward),
97  theOuterForwardLayers(outerForward),
98  theAllOuterBarrelLayers(allOuterBarrel),
99  theAllOuterBackwardLayers(allOuterBackward),
100  theAllOuterForwardLayers(allOuterForward) {}
101 
103  std::vector<const DetLayer*> nextLayers(NavigationDirection dir) const override;
104 
106  std::vector<const DetLayer*> nextLayers(const FreeTrajectoryState& fts,
107  PropagationDirection dir) const override;
108 
109  std::vector<const DetLayer*> compatibleLayers(NavigationDirection dir) const override;
110 
112  std::vector<const DetLayer*> compatibleLayers(const FreeTrajectoryState& fts,
113  PropagationDirection dir) const override;
114 
116  const DetLayer* detLayer() const override;
117 
119  void setDetLayer(const DetLayer*) override;
120 
127 
134 
136  void setInwardLinks(const MapB&);
137  void setInwardCompatibleLinks(const MapB&);
138 
139  private:
140 
141  void pushResult(std::vector<const DetLayer*>& result,
142  const MapB& map) const;
143 
144  void pushResult(std::vector<const DetLayer*>& result,
145  const MapE& map) const;
146 
147  void pushResult(std::vector<const DetLayer*>& result,
148  const MapB& map, const
149  FreeTrajectoryState& fts) const;
150 
151  void pushResult(std::vector<const DetLayer*>& result,
152  const MapE& map, const
153  FreeTrajectoryState& fts) const;
154  void pushCompatibleResult(std::vector<const DetLayer*>& result,
155  const MapB& map, const
156  FreeTrajectoryState& fts) const;
157 
158  void pushCompatibleResult(std::vector<const DetLayer*>& result,
159  const MapE& map, const
160  FreeTrajectoryState& fts) const;
161 
162  private:
163 
177 
178 };
179 #endif
MapE getAllInnerBackwardLayers() const
MapB getAllInnerBarrelLayers() const
BTLNavigableLayer(const BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapB &allOuterBarrel, const MapE &allOuterBackward, const MapE &allOuterForward)
std::map< const BarrelDetLayer *, MTDEtaRange, MTDDetLayerComp > MapB
MapE getInnerBackwardLayers() const
MapB getOuterBarrelLayers() const
MapE getInnerForwardLayers() const
MapE getOuterForwardLayers() const
PropagationDirection
MapB getInnerBarrelLayers() const
MapE getAllOuterForwardLayers() const
const BarrelDetLayer * theDetLayer
void setDetLayer(const DetLayer *) override
set DetLayer
void pushCompatibleResult(std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const
MapE getOuterBackwardLayers() const
BTLNavigableLayer(BarrelDetLayer *bdl, const MapB &outerBarrel, const MapB &innerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapE &innerBackward, const MapE &innerForward)
Constructor.
BTLNavigableLayer(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)
MapE getAllOuterBackwardLayers() const
std::vector< const DetLayer * > compatibleLayers(NavigationDirection dir) const override
BTLNavigableLayer(BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward)
Constructor with outer layers only.
MapE getAllInnerForwardLayers() const
dbl *** dir
Definition: mlp_gen.cc:35
std::vector< const DetLayer * > nextLayers(NavigationDirection dir) const override
NavigableLayer interface.
MapB getAllOuterBarrelLayers() const
void setInwardLinks(const MapB &)
set inward links
const DetLayer * detLayer() const override
return DetLayer
void setInwardCompatibleLinks(const MapB &)
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
std::map< const ForwardDetLayer *, MTDEtaRange, MTDDetLayerComp > MapE