Go to the documentation of this file. 1 #ifndef CBMMUCHADDRESS_H
2 #define CBMMUCHADDRESS_H 1
5 #include <RtypesCore.h>
7 #include <FairLogger.h>
126 return address & mask;
142 if (newId >= (1 <<
fgkBits[level])) {
143 LOG(error) <<
"Id " << newId <<
" for MUCH level " << level
144 <<
" exceeds maximum (" << (1 <<
fgkBits[level]) - 1 <<
")";
static Int_t GetNofBits(Int_t level)
Interface class to unique address for the MUCH.
@ kMuchSystem
System = MUCH.
@ kMuchNofLevels
Number of MUCH levels.
@ kMuchLayerSide
LayerSide.
static Int_t GetSystemIndex(Int_t address)
static Int_t GetElementId(UInt_t address, Int_t level)
Base class for interfaces to the unique address.
static Int_t GetModuleIndex(Int_t address)
static const Int_t fgkShift[kMuchNofLevels]
ClassDef(CbmMuchAddress, 1)
static const Int_t fgkBits[kMuchNofLevels]
static const Int_t fgkMask[kMuchNofLevels]
static UInt_t SetElementId(UInt_t address, Int_t level, Int_t newId)
static Int_t GetLayerIndex(Int_t address)
static Int_t GetStationIndex(Int_t address)
static Int_t GetElementAddress(Int_t address, Int_t level)
static UInt_t GetAddress(Int_t station=0, Int_t layer=0, Int_t side=0, Int_t module=0, Int_t sector=0, Int_t channel=0)
static Int_t GetNofLevels()
static Int_t GetLayerSideIndex(Int_t address)
static Int_t GetChannelIndex(Int_t address)
static Int_t GetSectorIndex(Int_t address)