CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/Geometry/RPCGeometry/interface/RPCChamber.h

Go to the documentation of this file.
00001 #ifndef RPCGeometry_RPCChamber_h
00002 #define RPCGeometry_RPCChamber_h
00003 
00016 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
00017 #include "DataFormats/MuonDetId/interface/RPCDetId.h"
00018 
00019 class RPCRoll;
00020 
00021 class RPCChamber : public GeomDet {
00022 public:
00024   RPCChamber(RPCDetId id, const ReferenceCountingPointer<BoundPlane>& plane);
00026   virtual ~RPCChamber();
00027 
00029   RPCDetId id() const;
00030 
00031   // Which subdetector
00032   virtual SubDetector subDetector() const {return GeomDetEnumerators::RPCBarrel;}
00033 
00035   bool operator==(const RPCChamber& ch) const;
00036 
00038   void add(RPCRoll* rl);
00039 
00041   virtual std::vector< const GeomDet*> components() const;
00042 
00044   virtual const GeomDet* component(DetId id) const;
00045 
00047   const RPCRoll* roll(RPCDetId id) const;
00048 
00049   const RPCRoll* roll(int isl) const;
00050   
00052   const std::vector<const RPCRoll*>& rolls() const;
00053 
00055   int nrolls() const;
00056 
00057 private:
00058 
00059   RPCDetId theId;
00060 
00061   // The chamber owns its Rolls
00062   std::vector<const RPCRoll*> theRolls;
00063 
00064 };
00065 #endif