CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/DataFormats/MuonDetId/interface/DTLayerId.h

Go to the documentation of this file.
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