CMS 3D CMS Logo

DTChamber.h
Go to the documentation of this file.
1 #ifndef DTGeometry_DTChamber_h
2 #define DTGeometry_DTChamber_h
3 
20 
21 class DTSuperLayer;
22 class DTLayer;
23 
24 class DTChamber : public GeomDet {
25 public:
28 
30  ~DTChamber() override;
31 
33  DTChamberId id() const;
34 
35  // Which subdetector
36  SubDetector subDetector() const override { return GeomDetEnumerators::DT; }
37 
39  bool operator==(const DTChamber& ch) const;
40 
42  void add(DTSuperLayer* sl);
43 
45  std::vector<const GeomDet*> components() const override;
46 
48  const GeomDet* component(DetId id) const override;
49 
51  const std::vector<const DTSuperLayer*>& superLayers() const;
52 
54  const DTSuperLayer* superLayer(const DTSuperLayerId& id) const;
55 
58  const DTSuperLayer* superLayer(int isl) const;
59 
61  const DTLayer* layer(const DTLayerId& id) const;
62 
63 private:
65 
66  // The chamber owns its SL
67  std::vector<const DTSuperLayer*> theSLs;
68 };
69 #endif
const DTSuperLayer * superLayer(const DTSuperLayerId &id) const
Return the superlayer corresponding to the given id.
Definition: DTChamber.cc:53
const DTLayer * layer(const DTLayerId &id) const
Return the layer corresponding to the given id.
Definition: DTChamber.cc:67
const GeomDet * component(DetId id) const override
Return the sub-component (SL or layer) with a given id in this chamber.
Definition: DTChamber.cc:42
bool operator==(const DTChamber &ch) const
equal if the id is the same
Definition: DTChamber.cc:34
const std::vector< const DTSuperLayer * > & superLayers() const
Return the superlayers in the chamber.
Definition: DTChamber.cc:51
DTChamberId id() const
Return the DTChamberId of this chamber.
Definition: DTChamber.cc:32
std::vector< const GeomDet * > components() const override
Return the superlayers in the chamber.
Definition: DTChamber.cc:38
Definition: DetId.h:17
SubDetector subDetector() const override
Which subdetector.
Definition: DTChamber.h:36
DTChamberId theId
Definition: DTChamber.h:64
std::vector< const DTSuperLayer * > theSLs
Definition: DTChamber.h:67
~DTChamber() override
Destructor.
Definition: DTChamber.cc:25
void add(DTSuperLayer *sl)
Add SL to the chamber which takes ownership.
Definition: DTChamber.cc:36
DTChamber(const DTChamberId &id, const ReferenceCountingPointer< BoundPlane > &plane)
Constructor.
Definition: DTChamber.cc:19