CMS 3D CMS Logo

BTLNavigableLayer.h
Go to the documentation of this file.
1 #ifndef Navigation_BTLNavigableLayer_H
2 #define Navigation_BTLNavigableLayer_H
3 
14 /* Collaborating Class Declarations */
17 
18 class DetLayer;
19 class BarrelDetLayer;
20 
21 /* Base Class Headers */
23 /* C++ Headers */
24 
25 /* ====================================================================== */
26 
27 /* Class BTLNavigableLayer Interface */
28 
30 public:
33  const MapB& outerBarrel,
34  const MapB& innerBarrel,
35  const MapE& outerBackward,
36  const MapE& outerForward,
37  const MapE& innerBackward,
38  const MapE& innerForward)
39  : theDetLayer(bdl),
40  theOuterBarrelLayers(outerBarrel),
41  theInnerBarrelLayers(innerBarrel),
42  theOuterBackwardLayers(outerBackward),
43  theInnerBackwardLayers(innerBackward),
44  theOuterForwardLayers(outerForward),
45  theInnerForwardLayers(innerForward) {}
46 
48  const MapB& outerBarrel,
49  const MapB& innerBarrel,
50  const MapE& outerBackward,
51  const MapE& outerForward,
52  const MapE& innerBackward,
53  const MapE& innerForward,
54  const MapB& allOuterBarrel,
55  const MapB& allInnerBarrel,
56  const MapE& allOuterBackward,
57  const MapE& allOuterForward,
58  const MapE& allInnerBackward,
59  const MapE& allInnerForward)
60  : theDetLayer(bdl),
61  theOuterBarrelLayers(outerBarrel),
62  theInnerBarrelLayers(innerBarrel),
63  theOuterBackwardLayers(outerBackward),
64  theInnerBackwardLayers(innerBackward),
65  theOuterForwardLayers(outerForward),
66  theInnerForwardLayers(innerForward),
67  theAllOuterBarrelLayers(allOuterBarrel),
68  theAllInnerBarrelLayers(allInnerBarrel),
69  theAllOuterBackwardLayers(allOuterBackward),
70  theAllInnerBackwardLayers(allInnerBackward),
71  theAllOuterForwardLayers(allOuterForward),
72  theAllInnerForwardLayers(allInnerForward) {}
73 
75  BTLNavigableLayer(BarrelDetLayer* bdl, const MapB& outerBarrel, const MapE& outerBackward, const MapE& outerForward)
76  : theDetLayer(bdl),
77  theOuterBarrelLayers(outerBarrel),
78  theOuterBackwardLayers(outerBackward),
79  theOuterForwardLayers(outerForward) {}
80 
82  const MapB& outerBarrel,
83  const MapE& outerBackward,
84  const MapE& outerForward,
85  const MapB& allOuterBarrel,
86  const MapE& allOuterBackward,
87  const MapE& allOuterForward)
88  : theDetLayer(bdl),
89  theOuterBarrelLayers(outerBarrel),
90  theOuterBackwardLayers(outerBackward),
91  theOuterForwardLayers(outerForward),
92  theAllOuterBarrelLayers(allOuterBarrel),
93  theAllOuterBackwardLayers(allOuterBackward),
94  theAllOuterForwardLayers(allOuterForward) {}
95 
97  std::vector<const DetLayer*> nextLayers(NavigationDirection dir) const override;
98 
100  std::vector<const DetLayer*> nextLayers(const FreeTrajectoryState& fts, PropagationDirection dir) const override;
101 
102  std::vector<const DetLayer*> compatibleLayers(NavigationDirection dir) const override;
103 
105  std::vector<const DetLayer*> compatibleLayers(const FreeTrajectoryState& fts,
106  PropagationDirection dir) const override;
107 
109  const DetLayer* detLayer() const override;
110 
112  void setDetLayer(const DetLayer*) override;
113 
120 
127 
129  void setInwardLinks(const MapB&);
130  void setInwardCompatibleLinks(const MapB&);
131 
132 private:
133  void pushResult(std::vector<const DetLayer*>& result, const MapB& map) const;
134 
135  void pushResult(std::vector<const DetLayer*>& result, const MapE& map) const;
136 
137  void pushResult(std::vector<const DetLayer*>& result, const MapB& map, const FreeTrajectoryState& fts) const;
138 
139  void pushResult(std::vector<const DetLayer*>& result, const MapE& map, const FreeTrajectoryState& fts) const;
140  void pushCompatibleResult(std::vector<const DetLayer*>& result,
141  const MapB& map,
142  const FreeTrajectoryState& fts) const;
143 
144  void pushCompatibleResult(std::vector<const DetLayer*>& result,
145  const MapE& map,
146  const FreeTrajectoryState& fts) const;
147 
148 private:
162 };
163 #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
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