CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/DataFormats/MuonDetId/interface/DTWireId.h

Go to the documentation of this file.
00001 #ifndef MuonDetId_DTWireId_h
00002 #define MuonDetId_DTWireId_h
00003 
00012 #include <DataFormats/MuonDetId/interface/DTLayerId.h>
00013 
00014 
00015 class DTWireId :public DTLayerId {
00016  public:
00017       
00020   DTWireId();
00021 
00022 
00027   explicit DTWireId(uint32_t id);
00028 
00029 
00033   DTWireId(int wheel, 
00034            int station, 
00035            int sector,
00036            int superlayer,
00037            int layer,
00038            int wire);
00039   
00040 
00042   DTWireId(const DTWireId& wireId);
00043 
00044 
00046   DTWireId(const DTChamberId& chId, int superlayer, int layer, int wire);
00047 
00048 
00050   DTWireId(const DTSuperLayerId& slId, int layer, int wire);
00051 
00052 
00054   DTWireId(const DTLayerId& layerId, int wire);
00055 
00056 
00058   int wire() const {
00059     return ((id_>>wireStartBit_)&wireMask_);
00060   }
00061 
00062 
00064   DTLayerId layerId() const {
00065     return DTLayerId(id_ & layerIdMask_);
00066   }
00067   
00068 
00069  private:
00070  
00071 
00072 };
00073 
00074 std::ostream& operator<<( std::ostream& os, const DTWireId& id );
00075 
00076 #endif