CMS 3D CMS Logo

DTChamber.h

Go to the documentation of this file.
00001 #ifndef DTGeometry_DTChamber_h
00002 #define DTGeometry_DTChamber_h
00003 
00018 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
00019 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
00020 #include "DataFormats/MuonDetId/interface/DTSuperLayerId.h"
00021 #include "DataFormats/MuonDetId/interface/DTLayerId.h"
00022 
00023 class DTSuperLayer;
00024 class DTLayer;
00025 
00026 class DTChamber : public GeomDet {
00027 
00028   public:
00030     DTChamber(DTChamberId id, const ReferenceCountingPointer<BoundPlane>& plane);
00031 
00033     virtual ~DTChamber();
00034 
00036     virtual DetId geographicalId() const;
00037 
00039     DTChamberId id() const;
00040 
00041     // Which subdetector
00042     virtual SubDetector subDetector() const {return GeomDetEnumerators::DT;}
00043 
00045     bool operator==(const DTChamber& ch) const;
00046 
00048     void add(DTSuperLayer* sl);
00049 
00051     virtual std::vector< const GeomDet*> components() const;
00052 
00054     virtual const GeomDet* component(DetId id) const;
00055 
00057     const std::vector< const DTSuperLayer*>& superLayers() const;
00058 
00060     const DTSuperLayer* superLayer(DTSuperLayerId id) const;
00061   
00064     const DTSuperLayer* superLayer(int isl) const;
00065 
00067     const DTLayer* layer(DTLayerId id) const;
00068 
00069   private:
00070 
00071     DTChamberId theId;
00072 
00073     // The chamber owns its SL
00074     std::vector<const DTSuperLayer*> theSLs;
00075 
00076 };
00077 #endif

Generated on Tue Jun 9 17:37:20 2009 for CMSSW by  doxygen 1.5.4