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