CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonDetLayerGeometry.h
Go to the documentation of this file.
1 #ifndef DetLayers_MuonDetLayerGeometry_h
2 #define DetLayers_MuonDetLayerGeometry_h
3 
15 #include <vector>
16 #include <map>
17 
18 class DetLayer;
19 
21  public:
22 
25 
27 
29  virtual ~MuonDetLayerGeometry();
30 
32  const std::vector<DetLayer*>& allDTLayers() const;
33 
35  const std::vector<DetLayer*>& allCSCLayers() const;
36 
38  const std::vector<DetLayer*>& forwardCSCLayers() const;
39 
41  const std::vector<DetLayer*>& backwardCSCLayers() const;
42 
44  const std::vector<DetLayer*>& allRPCLayers() const;
45 
47  const std::vector<DetLayer*>& barrelRPCLayers() const;
48 
50  const std::vector<DetLayer*>& endcapRPCLayers() const;
51 
53  const std::vector<DetLayer*>& forwardRPCLayers() const;
54 
56  const std::vector<DetLayer*>& backwardRPCLayers() const;
57 
59  const std::vector<DetLayer*>& allLayers() const;
60 
62  const std::vector<DetLayer*>& allBarrelLayers() const;
63 
65  const std::vector<DetLayer*>& allEndcapLayers() const;
66 
68  const std::vector<DetLayer*>& allForwardLayers() const;
69 
71  const std::vector<DetLayer*>& allBackwardLayers() const;
72 
74  virtual const DetLayer* idToLayer(const DetId& detId) const;
75 
76  private:
80  void addCSCLayers(std::pair<std::vector<DetLayer*>, std::vector<DetLayer*> > csclayers);
81 
82  //. Add DT layers; dtlayers is ASSUMED to be sorted inside-out
83  void addDTLayers(std::vector<DetLayer*> dtlayers);
84 
88  void addRPCLayers(std::vector<DetLayer*> barrelRPCLayers, std::pair<std::vector<DetLayer*>, std::vector<DetLayer*> > endcapRPCLayers);
89 
90 
91  DetId makeDetLayerId(const DetLayer* detLayer) const;
92 
93  void sortLayers();
94 
95  std::vector<DetLayer*> cscLayers_fw;
96  std::vector<DetLayer*> cscLayers_bk;
97  std::vector<DetLayer*> cscLayers_all;
98  std::vector<DetLayer*> rpcLayers_all;
99  std::vector<DetLayer*> rpcLayers_endcap;
100  std::vector<DetLayer*> rpcLayers_fw;
101  std::vector<DetLayer*> rpcLayers_bk;
102  std::vector<DetLayer*> rpcLayers_barrel;
103  std::vector<DetLayer*> dtLayers;
104  std::vector<DetLayer*> allForward;
105  std::vector<DetLayer*> allBackward;
106  std::vector<DetLayer*> allEndcap;
107  std::vector<DetLayer*> allBarrel;
108  std::vector<DetLayer*> allDetLayers;
109 
110  std::map<DetId,DetLayer*> detLayersMap;
111 };
112 #endif
113 
std::vector< DetLayer * > dtLayers
std::vector< DetLayer * > cscLayers_bk
std::vector< DetLayer * > allBackward
const std::vector< DetLayer * > & endcapRPCLayers() const
return the endcap RPC DetLayers, -Z to +Z
const std::vector< DetLayer * > & allCSCLayers() const
return the CSC DetLayers (endcap), -Z to +Z
std::vector< DetLayer * > allForward
std::vector< DetLayer * > allEndcap
const std::vector< DetLayer * > & backwardRPCLayers() const
return the backward (-Z) RPC DetLayers, inside-out
void addDTLayers(std::vector< DetLayer * > dtlayers)
const std::vector< DetLayer * > & allForwardLayers() const
return all forward (+Z) layers (CSC+RPC), inside-out
const std::vector< DetLayer * > & allDTLayers() const
return the DT DetLayers (barrel), inside-out
virtual const DetLayer * idToLayer(const DetId &detId) const
return the DetLayer which correspond to a certain DetId
std::vector< DetLayer * > cscLayers_fw
std::vector< DetLayer * > allDetLayers
std::vector< DetLayer * > rpcLayers_all
const std::vector< DetLayer * > & barrelRPCLayers() const
return the barrel RPC DetLayers, inside-out
std::vector< DetLayer * > rpcLayers_bk
const std::vector< DetLayer * > & forwardRPCLayers() const
return the forward (+Z) RPC DetLayers, inside-out
void addRPCLayers(std::vector< DetLayer * > barrelRPCLayers, std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > endcapRPCLayers)
std::vector< DetLayer * > rpcLayers_barrel
const std::vector< DetLayer * > & allEndcapLayers() const
return all endcap DetLayers (CSC+RPC), -Z to +Z
MuonDetLayerGeometry()
Constructor.
const std::vector< DetLayer * > & allBackwardLayers() const
return all backward (-Z) layers (CSC+RPC), inside-out
Definition: DetId.h:20
void addCSCLayers(std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > csclayers)
const std::vector< DetLayer * > & backwardCSCLayers() const
return the backward (-Z) CSC DetLayers, inside-out
std::map< DetId, DetLayer * > detLayersMap
std::vector< DetLayer * > allBarrel
const std::vector< DetLayer * > & allLayers() const
return all layers (DT+CSC+RPC), order: backward, barrel, forward
std::vector< DetLayer * > rpcLayers_endcap
DetId makeDetLayerId(const DetLayer *detLayer) const
virtual ~MuonDetLayerGeometry()
Destructor.
std::vector< DetLayer * > rpcLayers_fw
const std::vector< DetLayer * > & forwardCSCLayers() const
return the forward (+Z) CSC DetLayers, inside-out
std::vector< DetLayer * > cscLayers_all
const std::vector< DetLayer * > & allBarrelLayers() const
return all barrel DetLayers (DT+RPC), inside-out
const std::vector< DetLayer * > & allRPCLayers() const
return all RPC DetLayers, order: backward, barrel, forward