CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonBarrelNavigableLayer.h
Go to the documentation of this file.
1 #ifndef Navigation_MuonBarrelNavigableLayer_H
2 #define Navigation_MuonBarrelNavigableLayer_H
3 
22 /* Collaborating Class Declarations */
25 
26 class DetLayer;
27 class BarrelDetLayer;
28 
29 /* Base Class Headers */
31 /* C++ Headers */
32 
33 /* ====================================================================== */
34 
35 /* Class MuonBarrelNavigableLayer Interface */
36 
38 
39  public:
40 
43  const MapB& outerBarrel,
44  const MapB& innerBarrel,
45  const MapE& outerBackward,
46  const MapE& outerForward,
47  const MapE& innerBackward,
48  const MapE& innerForward) :
49  theDetLayer(bdl),
50  theOuterBarrelLayers(outerBarrel),
51  theInnerBarrelLayers(innerBarrel),
52  theOuterBackwardLayers(outerBackward),
53  theInnerBackwardLayers(innerBackward),
54  theOuterForwardLayers(outerForward),
55  theInnerForwardLayers(innerForward) {}
56 
58  const MapB& outerBarrel,
59  const MapB& innerBarrel,
60  const MapE& outerBackward,
61  const MapE& outerForward,
62  const MapE& innerBackward,
63  const MapE& innerForward,
64  const MapB& allOuterBarrel,
65  const MapB& allInnerBarrel,
66  const MapE& allOuterBackward,
67  const MapE& allOuterForward,
68  const MapE& allInnerBackward,
69  const MapE& allInnerForward) :
70  theDetLayer(bdl),
71  theOuterBarrelLayers(outerBarrel),
72  theInnerBarrelLayers(innerBarrel),
73  theOuterBackwardLayers(outerBackward),
74  theInnerBackwardLayers(innerBackward),
75  theOuterForwardLayers(outerForward),
76  theInnerForwardLayers(innerForward),
77  theAllOuterBarrelLayers(allOuterBarrel),
78  theAllInnerBarrelLayers(allInnerBarrel),
79  theAllOuterBackwardLayers(allOuterBackward),
80  theAllInnerBackwardLayers(allInnerBackward),
81  theAllOuterForwardLayers(allOuterForward),
82  theAllInnerForwardLayers(allInnerForward) {}
83 
86  const MapB& outerBarrel,
87  const MapE& outerBackward,
88  const MapE& outerForward) :
89  theDetLayer(bdl),
90  theOuterBarrelLayers(outerBarrel),
91  theOuterBackwardLayers(outerBackward),
92  theOuterForwardLayers(outerForward) { }
93 
95  const MapB& outerBarrel,
96  const MapE& outerBackward,
97  const MapE& outerForward,
98  const MapB& allOuterBarrel,
99  const MapE& allOuterBackward,
100  const MapE& allOuterForward) :
101  theDetLayer(bdl),
102  theOuterBarrelLayers(outerBarrel),
103  theOuterBackwardLayers(outerBackward),
104  theOuterForwardLayers(outerForward),
105  theAllOuterBarrelLayers(allOuterBarrel),
106  theAllOuterBackwardLayers(allOuterBackward),
107  theAllOuterForwardLayers(allOuterForward) {}
108 
110  virtual std::vector<const DetLayer*> nextLayers(NavigationDirection dir) const;
111 
113  virtual std::vector<const DetLayer*> nextLayers(const FreeTrajectoryState& fts,
114  PropagationDirection dir) const;
115 
116  virtual std::vector<const DetLayer*> compatibleLayers(NavigationDirection dir) const;
117 
119  virtual std::vector<const DetLayer*> compatibleLayers(const FreeTrajectoryState& fts,
120  PropagationDirection dir) const;
121 
123  virtual DetLayer* detLayer() const;
124 
126  virtual void setDetLayer(DetLayer*);
127 
134 
141 
143  void setInwardLinks(const MapB&);
144  void setInwardCompatibleLinks(const MapB&);
145 
146  private:
147 
148  void pushResult(std::vector<const DetLayer*>& result,
149  const MapB& map) const;
150 
151  void pushResult(std::vector<const DetLayer*>& result,
152  const MapE& map) const;
153 
154  void pushResult(std::vector<const DetLayer*>& result,
155  const MapB& map, const
156  FreeTrajectoryState& fts) const;
157 
158  void pushResult(std::vector<const DetLayer*>& result,
159  const MapE& map, const
160  FreeTrajectoryState& fts) const;
161  void pushCompatibleResult(std::vector<const DetLayer*>& result,
162  const MapB& map, const
163  FreeTrajectoryState& fts) const;
164 
165  void pushCompatibleResult(std::vector<const DetLayer*>& result,
166  const MapE& map, const
167  FreeTrajectoryState& fts) const;
168 
169  private:
170 
184 
185 };
186 #endif
MuonBarrelNavigableLayer(BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward)
Constructor with outer layers only.
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
std::map< ForwardDetLayer *, MuonEtaRange, MuonDetLayerComp > MapE
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)
virtual void setDetLayer(DetLayer *)
set DetLayer
PropagationDirection
virtual std::vector< const DetLayer * > nextLayers(NavigationDirection dir) const
NavigableLayer interface.
dictionary map
Definition: Association.py:196
std::map< BarrelDetLayer *, MuonEtaRange, MuonDetLayerComp > MapB
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 &)
virtual std::vector< const DetLayer * > compatibleLayers(NavigationDirection dir) const
tuple result
Definition: query.py:137
virtual DetLayer * detLayer() const
return DetLayer
void setInwardLinks(const MapB &)
set inward links
MuonBarrelNavigableLayer(BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapB &allOuterBarrel, const MapE &allOuterBackward, const MapE &allOuterForward)
dbl *** dir
Definition: mlp_gen.cc:35
void pushCompatibleResult(std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const