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 
19 /* Collaborating Class Declarations */
22 
23 class DetLayer;
24 class ForwardDetLayer;
25 
26 /* Base Class Headers */
28 
29 /* C++ Headers */
30 
31 /* ====================================================================== */
32 
33 /* Class MuonForwardNavigableLayer Interface */
34 
36 
37  public:
38 
40  const MapB& innerBarrel,
41  const MapE& outerEndcap,
42  const MapE& innerEndcap,
43  const MapB& allInnerBarrel,
44  const MapE& allOuterEndcap,
45  const MapE& allInnerEndcap) :
46  theDetLayer(fdl),
47  theInnerBarrelLayers(innerBarrel),
48  theOuterEndcapLayers(outerEndcap),
49  theInnerEndcapLayers(innerEndcap),
50  theAllInnerBarrelLayers(allInnerBarrel),
51  theAllOuterEndcapLayers(allOuterEndcap),
52  theAllInnerEndcapLayers(allInnerEndcap) {}
53 
56  const MapE& outerEndcap) :
57  theDetLayer(fdl),
58  theOuterEndcapLayers(outerEndcap) {}
61  const MapE& outerEndcap,
62  const MapE& allOuterEndcap) :
63  theDetLayer(fdl),
64  theOuterEndcapLayers(outerEndcap),
65  theAllOuterEndcapLayers(allOuterEndcap) {}
66 
67 
69  virtual std::vector<const DetLayer*> nextLayers(NavigationDirection dir) const;
70 
72  virtual std::vector<const DetLayer*> nextLayers(const FreeTrajectoryState& fts,
74 
75  virtual std::vector<const DetLayer*> compatibleLayers(NavigationDirection dir) const;
76 
78  virtual std::vector<const DetLayer*> compatibleLayers(const FreeTrajectoryState& fts,
81  virtual DetLayer* detLayer() const;
82 
84  virtual void setDetLayer(DetLayer*);
85 
90 
94 
96  void setInwardLinks(const MapB&, const MapE&);
97  void setInwardCompatibleLinks(const MapB&, const MapE&);
98 
99  private:
100 
101  void pushResult(std::vector<const DetLayer*>& result,
102  const MapB& map) const;
103 
104  void pushResult(std::vector<const DetLayer*>& result,
105  const MapE& map) const;
106 
107  void pushResult(std::vector<const DetLayer*>& result,
108  const MapB& map,
109  const FreeTrajectoryState& fts) const;
110 
111  void pushResult(std::vector<const DetLayer*>& result,
112  const MapE& map, const
113  FreeTrajectoryState& fts) const;
114 
115  void pushCompatibleResult(std::vector<const DetLayer*>& result,
116  const MapB& map, const
117  FreeTrajectoryState& fts) const;
118 
119  void pushCompatibleResult(std::vector<const DetLayer*>& result,
120  const MapE& map, const
121  FreeTrajectoryState& fts) const;
122 
123 
124  private:
125 
133 
134 };
135 #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