00001 #ifndef MuonDetId_DTLayerId_h 00002 #define MuonDetId_DTLayerId_h 00003 00012 #include <DataFormats/MuonDetId/interface/DTSuperLayerId.h> 00013 00014 class DTLayerId : public DTSuperLayerId { 00015 public: 00016 00019 DTLayerId(); 00020 00021 00027 explicit DTLayerId(uint32_t id); 00028 00029 00033 DTLayerId(int wheel, 00034 int station, 00035 int sector, 00036 int superlayer, 00037 int layer); 00038 00039 00043 DTLayerId(const DTLayerId& layerId); 00044 00045 00047 DTLayerId(const DTChamberId& chId, int superlayer, int layer); 00048 00049 00051 DTLayerId(const DTSuperLayerId& slId, int layer); 00052 00053 00055 int layer() const { 00056 return ((id_>>layerStartBit_)&lMask_); 00057 } 00058 00059 00061 DTSuperLayerId superlayerId() const { 00062 return DTSuperLayerId(id_ & slIdMask_); 00063 } 00064 00065 00066 00067 }; 00068 00069 00070 std::ostream& operator<<( std::ostream& os, const DTLayerId& id ); 00071 00072 #endif