CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  virtual std::vector<const DetLayer*> nextLayers(NavigationDirection dir) const;
68 
70  virtual std::vector<const DetLayer*> nextLayers(const FreeTrajectoryState& fts,
72 
73  virtual std::vector<const DetLayer*> compatibleLayers(NavigationDirection dir) const;
74 
76  virtual std::vector<const DetLayer*> compatibleLayers(const FreeTrajectoryState& fts,
79  virtual DetLayer* detLayer() const;
80 
82  virtual void setDetLayer(DetLayer*);
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
MuonForwardNavigableLayer(ForwardDetLayer *fdl, const MapE &outerEndcap)
Constructor with outer layers only.
virtual std::vector< const DetLayer * > nextLayers(NavigationDirection dir) const
NavigableLayer interface.
std::map< ForwardDetLayer *, MuonEtaRange, MuonDetLayerComp > MapE
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
std::map< BarrelDetLayer *, MuonEtaRange, MuonDetLayerComp > MapB
tuple result
Definition: query.py:137
virtual DetLayer * detLayer() const
return DetLayer
MuonForwardNavigableLayer(ForwardDetLayer *fdl, const MapB &innerBarrel, const MapE &outerEndcap, const MapE &innerEndcap, const MapB &allInnerBarrel, const MapE &allOuterEndcap, const MapE &allInnerEndcap)
MuonForwardNavigableLayer(ForwardDetLayer *fdl, const MapE &outerEndcap, const MapE &allOuterEndcap)
Constructor with all outer layers only.
MapE getOuterEndcapLayers() const
Operations.
void setInwardCompatibleLinks(const MapB &, const MapE &)
dbl *** dir
Definition: mlp_gen.cc:35
virtual std::vector< const DetLayer * > compatibleLayers(NavigationDirection dir) const
virtual void setDetLayer(DetLayer *)
set DetLayer