CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ME0Chamber.h
Go to the documentation of this file.
1 #ifndef Geometry_GEMGeometry_ME0Chamber_h
2 #define Geometry_GEMGeometry_ME0Chamber_h
3 
6 
7 class ME0Layer;
8 class ME0EtaPartition;
9 
10 class ME0Chamber : public GeomDet {
11 public:
14 
16  virtual ~ME0Chamber();
17 
19  ME0DetId id() const;
20 
21  // Which subdetector
23 
25  bool operator==(const ME0Chamber& ch) const;
26 
28  void add(ME0Layer* layer);
29 
31  virtual std::vector<const GeomDet*> components() const;
32 
34  virtual const GeomDet* component(DetId id) const;
35 
37  const ME0Layer* layer(ME0DetId id) const;
38 
39  const ME0Layer* layer(int isl) const;
40 
42  const std::vector<const ME0Layer*>& layers() const;
43 
45  int nLayers() const;
46 
47 
50  void add(ME0EtaPartition* roll);
51 
54  const ME0EtaPartition* etaPartition(ME0DetId id) const;
55 
56  const ME0EtaPartition* etaPartition(int isl) const;
57 
60  const std::vector<const ME0EtaPartition*>& etaPartitions() const;
61 
64  int nEtaPartitions() const;
65 
66 
67 private:
68 
70 
71  // vector of layers for a chamber
72  std::vector<const ME0Layer*> layers_;
73  // vector of eta partitions for a chamber
74  std::vector<const ME0EtaPartition*> etaPartitions_;
75 };
76 #endif
int nLayers() const
Retunr numbers of layers.
Definition: ME0Chamber.cc:38
const std::vector< const ME0EtaPartition * > & etaPartitions() const
Definition: ME0Chamber.cc:61
int nEtaPartitions() const
Definition: ME0Chamber.cc:65
virtual std::vector< const GeomDet * > components() const
Return the rolls in the chamber.
Definition: ME0Chamber.cc:26
const ME0Layer * layer(ME0DetId id) const
Return the layer corresponding to the given id.
Definition: ME0Chamber.cc:42
std::vector< const ME0EtaPartition * > etaPartitions_
Definition: ME0Chamber.h:74
virtual ~ME0Chamber()
Destructor.
Definition: ME0Chamber.cc:12
ME0DetId id() const
Return the ME0DetId of this chamber.
Definition: ME0Chamber.cc:14
void add(ME0Layer *layer)
Add Layer to the chamber which takes ownership.
Definition: ME0Chamber.cc:22
std::vector< const ME0Layer * > layers_
Definition: ME0Chamber.h:72
ME0Chamber(ME0DetId id, const ReferenceCountingPointer< BoundPlane > &plane)
Constructor.
Definition: ME0Chamber.cc:6
const ME0EtaPartition * etaPartition(ME0DetId id) const
Definition: ME0Chamber.cc:69
Definition: DetId.h:18
ME0DetId detId_
Definition: ME0Chamber.h:69
bool operator==(const ME0Chamber &ch) const
equal if the id is the same
Definition: ME0Chamber.cc:18
virtual SubDetector subDetector() const
Which subdetector.
Definition: ME0Chamber.h:22
virtual const GeomDet * component(DetId id) const
Return the sub-component (roll) with a given id in this chamber.
Definition: ME0Chamber.cc:30
const std::vector< const ME0Layer * > & layers() const
Return the layers.
Definition: ME0Chamber.cc:34