CMS 3D CMS Logo

MuonDetLayerGeometry.h
Go to the documentation of this file.
1 #ifndef DetLayers_MuonDetLayerGeometry_h
2 #define DetLayers_MuonDetLayerGeometry_h
3 
16 #include <vector>
17 #include <map>
18 
19 class DetLayer;
20 
22  public:
23 
26 
28 
30  virtual ~MuonDetLayerGeometry();
31 
33  const std::vector<const DetLayer*>& allDTLayers() const;
34 
36  const std::vector<const DetLayer*>& allCSCLayers() const;
37 
39  const std::vector<const DetLayer*>& forwardCSCLayers() const;
40 
42  const std::vector<const DetLayer*>& backwardCSCLayers() const;
43 
45 
47  const std::vector<const DetLayer*>& allGEMLayers() const;
48 
50  const std::vector<const DetLayer*>& forwardGEMLayers() const;
51 
53  const std::vector<const DetLayer*>& backwardGEMLayers() const;
54 
56 
57 
59 
61  const std::vector<const DetLayer*>& allME0Layers() const;
62 
64  const std::vector<const DetLayer*>& forwardME0Layers() const;
65 
67  const std::vector<const DetLayer*>& backwardME0Layers() const;
68 
70 
72  const std::vector<const DetLayer*>& allRPCLayers() const;
73 
75  const std::vector<const DetLayer*>& barrelRPCLayers() const;
76 
78  const std::vector<const DetLayer*>& endcapRPCLayers() const;
79 
81  const std::vector<const DetLayer*>& forwardRPCLayers() const;
82 
84  const std::vector<const DetLayer*>& backwardRPCLayers() const;
85 
87  const std::vector<const DetLayer*>& allLayers() const;
88 
90  const std::vector<const DetLayer*>& allBarrelLayers() const;
91 
93  const std::vector<const DetLayer*>& allEndcapLayers() const;
94 
96  const std::vector<const DetLayer*>& allForwardLayers() const;
97 
99  const std::vector<const DetLayer*>& allBackwardLayers() const;
100 
102 
104  const std::vector<const DetLayer*>& allEndcapCscGemLayers() const;
105 
107  const std::vector<const DetLayer*>& allCscGemForwardLayers() const;
108 
110  const std::vector<const DetLayer*>& allCscGemBackwardLayers() const;
111 
113 
114 
116 
118  const std::vector<const DetLayer*>& allEndcapCscME0Layers() const;
119 
121  const std::vector<const DetLayer*>& allCscME0ForwardLayers() const;
122 
124  const std::vector<const DetLayer*>& allCscME0BackwardLayers() const;
125 
127 
129  virtual const DetLayer* idToLayer(const DetId& detId) const override;
130 
131  private:
135  void addCSCLayers(const std::pair<std::vector<DetLayer*>, std::vector<DetLayer*> >& csclayers);
136 
137  //. Add DT layers; dtlayers is ASSUMED to be sorted inside-out
138  void addDTLayers(const std::vector<DetLayer*>& dtlayers);
139 
143  void addRPCLayers(const std::vector<DetLayer*>& barrelRPCLayers, const std::pair<std::vector<DetLayer*>, std::vector<DetLayer*> >& endcapRPCLayers);
144 
146 
150  void addGEMLayers(const std::pair<std::vector<DetLayer*>, std::vector<DetLayer*> >& gemlayers);
152 
153 
155 
159  void addME0Layers(const std::pair<std::vector<DetLayer*>, std::vector<DetLayer*> >& gemlayers);
160 
162 
163 
164  DetId makeDetLayerId(const DetLayer* detLayer) const;
165 
166  void sortLayers();
167 
168  std::vector<const DetLayer*> cscLayers_fw;
169  std::vector<const DetLayer*> cscLayers_bk;
170  std::vector<const DetLayer*> cscLayers_all;
171 
173 
174  std::vector<const DetLayer*> gemLayers_fw;
175  std::vector<const DetLayer*> gemLayers_bk;
176  std::vector<const DetLayer*> gemLayers_all;
177 
179 
180  std::vector<const DetLayer*> me0Layers_fw;
181  std::vector<const DetLayer*> me0Layers_bk;
182  std::vector<const DetLayer*> me0Layers_all;
183 
186  std::vector<const DetLayer*> rpcLayers_all;
187  std::vector<const DetLayer*> rpcLayers_endcap;
188  std::vector<const DetLayer*> rpcLayers_fw;
189  std::vector<const DetLayer*> rpcLayers_bk;
190  std::vector<const DetLayer*> rpcLayers_barrel;
191  std::vector<const DetLayer*> dtLayers;
192  std::vector<const DetLayer*> allForward;
193  std::vector<const DetLayer*> allBackward;
194  std::vector<const DetLayer*> allEndcap;
195  std::vector<const DetLayer*> allBarrel;
196  std::vector<const DetLayer*> allDetLayers;
197 
199 
200  std::vector<const DetLayer*> allEndcapCscGem;
201  std::vector<const DetLayer*> allCscGemForward;
202  std::vector<const DetLayer*> allCscGemBackward;
203 
205 
206 
208 
209  std::vector<const DetLayer*> allEndcapCscME0;
210  std::vector<const DetLayer*> allCscME0Forward;
211  std::vector<const DetLayer*> allCscME0Backward;
212 
214 
215 
216  std::map<DetId,const DetLayer*> detLayersMap;
217 };
218 #endif
219 
const std::vector< const DetLayer * > & allEndcapCscME0Layers() const
return all endcap DetLayers (CSC+ME0), -Z to +Z
std::vector< const DetLayer * > gemLayers_all
std::vector< const DetLayer * > allDetLayers
const std::vector< const DetLayer * > & backwardGEMLayers() const
return the backward (-Z) GEM DetLayers, inside-out
const std::vector< const DetLayer * > & allCscGemBackwardLayers() const
return all endcap DetLayers (CSC+GEM), -Z to +Z
std::vector< const DetLayer * > allBarrel
void addME0Layers(const std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > &gemlayers)
virtual const DetLayer * idToLayer(const DetId &detId) const override
return the DetLayer which correspond to a certain DetId
const std::vector< const DetLayer * > & allEndcapLayers() const
return all endcap DetLayers (CSC+RPC+GEM+ME0), -Z to +Z
std::vector< const DetLayer * > gemLayers_bk
const std::vector< const DetLayer * > & forwardRPCLayers() const
return the forward (+Z) RPC DetLayers, inside-out
void addDTLayers(const std::vector< DetLayer * > &dtlayers)
std::vector< const DetLayer * > me0Layers_fw
std::vector< const DetLayer * > me0Layers_all
std::map< DetId, const DetLayer * > detLayersMap
const std::vector< const DetLayer * > & allCSCLayers() const
return the CSC DetLayers (endcap), -Z to +Z
const std::vector< const DetLayer * > & forwardME0Layers() const
return the forward (+Z) ME0 DetLayers, inside-out
std::vector< const DetLayer * > allCscME0Backward
const std::vector< const DetLayer * > & allCscME0ForwardLayers() const
return all endcap DetLayers (CSC+ME0), -Z to +Z
const std::vector< const DetLayer * > & allForwardLayers() const
return all forward (+Z) layers (CSC+RPC+GEM+ME0), inside-out
void addGEMLayers(const std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > &gemlayers)
std::vector< const DetLayer * > allForward
const std::vector< const DetLayer * > & allBarrelLayers() const
return all barrel DetLayers (DT+RPC), inside-out
std::vector< const DetLayer * > allBackward
std::vector< const DetLayer * > allCscGemForward
MuonDetLayerGeometry()
Constructor.
std::vector< const DetLayer * > rpcLayers_barrel
const std::vector< const DetLayer * > & endcapRPCLayers() const
return the endcap RPC DetLayers, -Z to +Z
std::vector< const DetLayer * > rpcLayers_all
std::vector< const DetLayer * > rpcLayers_bk
std::vector< const DetLayer * > cscLayers_fw
const std::vector< const DetLayer * > & allME0Layers() const
return the ME0 DetLayers (endcap), -Z to +Z
std::vector< const DetLayer * > me0Layers_bk
Definition: DetId.h:18
std::vector< const DetLayer * > allEndcapCscGem
const std::vector< const DetLayer * > & allDTLayers() const
return the DT DetLayers (barrel), inside-out
const std::vector< const DetLayer * > & backwardME0Layers() const
return the backward (-Z) ME0 DetLayers, inside-out
std::vector< const DetLayer * > allEndcap
const std::vector< const DetLayer * > & forwardCSCLayers() const
return the forward (+Z) CSC DetLayers, inside-out
std::vector< const DetLayer * > cscLayers_bk
DetId makeDetLayerId(const DetLayer *detLayer) const
virtual ~MuonDetLayerGeometry()
Destructor.
const std::vector< const DetLayer * > & allCscME0BackwardLayers() const
return all endcap DetLayers (CSC+ME0), -Z to +Z
void addRPCLayers(const std::vector< DetLayer * > &barrelRPCLayers, const std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > &endcapRPCLayers)
std::vector< const DetLayer * > cscLayers_all
std::vector< const DetLayer * > allCscGemBackward
std::vector< const DetLayer * > dtLayers
const std::vector< const DetLayer * > & allBackwardLayers() const
return all backward (-Z) layers (CSC+RPC+GEM+ME0), inside-out
std::vector< const DetLayer * > rpcLayers_fw
const std::vector< const DetLayer * > & allGEMLayers() const
return the GEM DetLayers (endcap), -Z to +Z
std::vector< const DetLayer * > rpcLayers_endcap
const std::vector< const DetLayer * > & allLayers() const
return all layers (DT+CSC+RPC+GEM), order: backward, barrel, forward
const std::vector< const DetLayer * > & forwardGEMLayers() const
return the forward (+Z) GEM DetLayers, inside-out
const std::vector< const DetLayer * > & backwardCSCLayers() const
return the backward (-Z) CSC DetLayers, inside-out
std::vector< const DetLayer * > gemLayers_fw
const std::vector< const DetLayer * > & allCscGemForwardLayers() const
return all endcap DetLayers (CSC+GEM), -Z to +Z
const std::vector< const DetLayer * > & barrelRPCLayers() const
return the barrel RPC DetLayers, inside-out
const std::vector< const DetLayer * > & allEndcapCscGemLayers() const
return all endcap DetLayers (CSC+GEM), -Z to +Z
const std::vector< const DetLayer * > & backwardRPCLayers() const
return the backward (-Z) RPC DetLayers, inside-out
void addCSCLayers(const std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > &csclayers)
const std::vector< const DetLayer * > & allRPCLayers() const
return all RPC DetLayers, order: backward, barrel, forward
std::vector< const DetLayer * > allEndcapCscME0
std::vector< const DetLayer * > allCscME0Forward