CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/DataFormats/MuonDetId/interface/DTSuperLayerId.h

Go to the documentation of this file.
00001 #ifndef MuonDetId_DTSuperLayerId_H
00002 #define MuonDetId_DTSuperLayerId_H
00003 
00012 #include <DataFormats/MuonDetId/interface/DTChamberId.h>
00013 
00014 
00015 class DTSuperLayerId : public DTChamberId {
00016 public:
00017 
00020   DTSuperLayerId();
00021 
00022 
00028   explicit DTSuperLayerId(uint32_t id);
00029 
00030 
00034   DTSuperLayerId(int wheel, 
00035                  int station, 
00036                  int sector,
00037                  int superlayer);
00038 
00039 
00043   DTSuperLayerId(const DTSuperLayerId& slId);
00044 
00045 
00047   DTSuperLayerId(const DTChamberId& chId, int superlayer);
00048 
00049 
00051   int superLayer() const {
00052     return ((id_>>slayerStartBit_)&slMask_);
00053   }
00054 
00055 
00057   int superlayer() const {
00058     return superLayer();
00059   }
00060 
00061 
00063   DTChamberId chamberId() const {
00064     return DTChamberId(id_ & chamberIdMask_);
00065   }
00066 
00067  private:
00068 
00069 };
00070 
00071 std::ostream& operator<<( std::ostream& os, const DTSuperLayerId& id );
00072 
00073 #endif
00074