CbmRoot
|
CBM ToF interface class to the unique address. More...
#include <CbmTofAddress.h>
Public Member Functions | |
CbmTofAddress () | |
virtual | ~CbmTofAddress () |
Static Public Member Functions | |
static Int_t | GetNofSmIdBits () |
static Int_t | GetNofSmTypeBits () |
static Int_t | GetNofRpcIdBits () |
static Int_t | GetNofChannelIdBits () |
static Int_t | GetNofChSideBits () |
static Int_t | GetSmId (UInt_t address) |
static Int_t | GetSmType (UInt_t address) |
static Int_t | GetRpcId (UInt_t address) |
static Int_t | GetChannelId (UInt_t address) |
static Int_t | GetChannelSide (UInt_t address) |
static Int_t | GetModFullId (UInt_t address) |
static UInt_t | GetUniqueAddress (UInt_t Sm, UInt_t Rpc, UInt_t Channel, UInt_t Side=0, UInt_t SmType=0) |
static Bool_t | SameModule (UInt_t addressA, UInt_t addressB) |
static UInt_t | ConvertCbmTofDetectorInfo (CbmTofDetectorInfo infoInput) |
static UInt_t | ConvertCbmTofDetectorId (Int_t detIdInput) |
static Int_t | GetNofSystemBits () |
static Int_t | GetSystemId (UInt_t address) |
Static Protected Attributes | |
static const Int_t | fgkSystemBits = 4 |
Static Private Attributes | |
static const Int_t | fgkSmIdBits = 8 |
static const Int_t | fgkSmTypeBits = 4 |
static const Int_t | fgkRpcIdBits = 7 |
static const Int_t | fgkChannelSideBits = 1 |
static const Int_t | fgkChannelIdBits = 8 |
static const Int_t | fgkSmIdOffset = CbmAddress::fgkSystemBits |
static const Int_t | fgkSmTypeOffset |
static const Int_t | fgkChannelSideOffset |
static const Int_t | fgkRpcIdOffset |
static const Int_t | fgkChannelIdOffset |
static const Int_t | fgkiModFullIdMask |
CBM ToF interface class to the unique address.
CbmTofAddress is the class for the concrete interfaces to the unique address, which is encoded in a 32-bit field (Int_t), for the ToF detector elements. Difference to CbmTofDetectorId is that this class is adapted to real data instead of simulated data => no Gap info but instead info on strip side. Conversion functions are provided for now, but version dependent! 3 2 1 0 Shift Bits Values Current definition: 10987654321098765432109876543210 System ID (kTof=6) on bits 0- 3 00000000000000000000000000001111 << 0 4 15 Super Module (SM) on bits 4-11 00000000000000000000111111110000 << 4 8 256 SM Type on bits 12-14 00000000000000001111000000000000 <<12 4 15 RPC ID on bits 16-22 00000000011111110000000000000000 <<16 7 128 Channel Side on bits 23-23 00000000100000000000000000000000 <<23 1 2 Channel ID on bits 24-31 11111111000000000000000000000000 <<24 8 256
Changing the number of bits of a fields automatically shift all others => to adapt field length, just change its size and the size of one of the other fields
Definition at line 40 of file CbmTofAddress.h.
|
inline |
Constructor
Definition at line 43 of file CbmTofAddress.h.
|
inlinevirtual |
Destructor
Definition at line 46 of file CbmTofAddress.h.
|
inlinestatic |
Definition at line 154 of file CbmTofAddress.h.
References CbmTofDetectorId_v12b::GetCell(), CbmTofDetectorId_v12b::GetCounter(), CbmTofDetectorId_v12b::GetSModule(), CbmTofDetectorId_v12b::GetSMType(), and GetUniqueAddress().
|
inlinestatic |
Definition at line 142 of file CbmTofAddress.h.
References CbmTofDetectorInfo::fCell, CbmTofDetectorInfo::fCounter, CbmTofDetectorInfo::fSModule, CbmTofDetectorInfo::fSMtype, and GetUniqueAddress().
|
inlinestatic |
Get the Channel Id from the address
address | Unique address |
Definition at line 96 of file CbmTofAddress.h.
References fgkChannelIdBits, and fgkChannelIdOffset.
Referenced by CbmTofTrackFinderNN::DoFind(), CbmTofCalibrator::FillCalHist(), CbmTofFindTracks::FillHistograms(), CbmDeviceHitBuilderTof::FillHistos(), CbmTofCosmicClusterizer::FillHistos(), CbmTofTestBeamClusterizer::FillHistos(), CbmTofEventClusterizer::FillHistos(), CbmTofAnaTestbeam::FillHistos(), CbmTofDigi::GetChannel(), CbmTofCosmicClusterizer::MergeClusters(), CbmTofTestBeamClusterizer::MergeClusters(), CbmTofEventClusterizer::MergeClusters(), and CbmTofTrackFinderNN::TrklSeed().
|
inlinestatic |
Get the Channel Side from the address
address | Unique address |
Definition at line 103 of file CbmTofAddress.h.
References fgkChannelSideBits, and fgkChannelSideOffset.
Referenced by CbmTofDigi::GetSide().
|
inlinestatic |
Get the module Full Id from the address
address | Unique address |
Definition at line 111 of file CbmTofAddress.h.
References fgkiModFullIdMask.
Referenced by CbmTofHitFinderTBQA::Exec(), CbmGlobalTrackingTofGeometry::Prepare(), CbmGlobalTrackingTofGeometry::Read(), and SameModule().
|
inlinestatic |
Number of bits for Channel Id in the address field
Definition at line 64 of file CbmTofAddress.h.
References fgkChannelIdBits.
|
inlinestatic |
Number of bits for Channel Side in the address field
Definition at line 68 of file CbmTofAddress.h.
References fgkChannelSideBits.
|
inlinestatic |
Number of bits for Rpc Id in the address field
Definition at line 60 of file CbmTofAddress.h.
References fgkRpcIdBits.
|
inlinestatic |
Field size accessors Number of bits for Super Module Id in the address field
Definition at line 52 of file CbmTofAddress.h.
References fgkSmIdBits.
|
inlinestatic |
Number of bits for Super Module Type in the address field
Definition at line 56 of file CbmTofAddress.h.
References fgkSmTypeBits.
|
inlinestaticinherited |
Number of bits for system Id in the address field
Definition at line 36 of file CbmAddress.h.
References CbmAddress::fgkSystemBits.
Referenced by TEST().
|
inlinestatic |
Get the Rpc Id from the address
address | Unique address |
Definition at line 89 of file CbmTofAddress.h.
References fgkRpcIdBits, and fgkRpcIdOffset.
Referenced by CbmTofEventClusterizer::BuildClusters(), CbmTofCalibrator::CreateCalHist(), CbmDeviceHitBuilderTof::CreateHistograms(), CbmTofCosmicClusterizer::CreateHistos(), CbmTofTestBeamClusterizer::CreateHistos(), CbmTofEventClusterizer::CreateHistos(), CbmTofFindTracks::ExecFind(), CbmTofCalibrator::FillCalHist(), CbmTofFindTracks::FillHistograms(), CbmDeviceHitBuilderTof::FillHistos(), CbmTofCosmicClusterizer::FillHistos(), CbmTofTestBeamClusterizer::FillHistos(), CbmTofEventClusterizer::FillHistos(), CbmTofAnaTestbeam::FillHistos(), CbmTofDigi::GetRpc(), CbmDeviceHitBuilderTof::LoadGeometry(), CbmTofCosmicClusterizer::LoadGeometry(), CbmTofTestBeamClusterizer::LoadGeometry(), CbmTofEventClusterizer::LoadGeometry(), CbmTofAnaTestbeam::LoadGeometry(), CbmTofCosmicClusterizer::MergeClusters(), CbmTofTestBeamClusterizer::MergeClusters(), CbmTofEventClusterizer::MergeClusters(), CbmTofCalibrator::ReadHist(), CbmTofCalibrator::UpdateCalHist(), CbmTofCosmicClusterizer::WriteHistos(), CbmTofTestBeamClusterizer::WriteHistos(), and CbmTofEventClusterizer::WriteHistos().
|
inlinestatic |
Maskers Get the Super Module Id from the address
address | Unique address |
Definition at line 75 of file CbmTofAddress.h.
References fgkSmIdBits, and fgkSmIdOffset.
Referenced by CbmTofEventClusterizer::BuildClusters(), CbmTofCalibrator::CreateCalHist(), CbmDeviceHitBuilderTof::CreateHistograms(), CbmTofCosmicClusterizer::CreateHistos(), CbmTofTestBeamClusterizer::CreateHistos(), CbmTofEventClusterizer::CreateHistos(), CbmTofFindTracks::ExecFind(), CbmTofCalibrator::FillCalHist(), CbmTofFindTracks::FillHistograms(), CbmDeviceHitBuilderTof::FillHistos(), CbmTofCosmicClusterizer::FillHistos(), CbmTofTestBeamClusterizer::FillHistos(), CbmTofEventClusterizer::FillHistos(), CbmTofAnaTestbeam::FillHistos(), CbmTofDigi::GetSm(), CbmDeviceHitBuilderTof::LoadGeometry(), CbmTofCosmicClusterizer::LoadGeometry(), CbmTofTestBeamClusterizer::LoadGeometry(), CbmTofEventClusterizer::LoadGeometry(), CbmTofAnaTestbeam::LoadGeometry(), CbmTofCosmicClusterizer::MergeClusters(), CbmTofTestBeamClusterizer::MergeClusters(), CbmTofEventClusterizer::MergeClusters(), CbmTofCalibrator::ReadHist(), CbmTofCosmicClusterizer::WriteHistos(), CbmTofTestBeamClusterizer::WriteHistos(), and CbmTofEventClusterizer::WriteHistos().
|
inlinestatic |
Get the Super Module Type from the address
address | Unique address |
Definition at line 82 of file CbmTofAddress.h.
References fgkSmTypeBits, and fgkSmTypeOffset.
Referenced by CbmTofEventClusterizer::BuildClusters(), CbmTofCalibrator::CreateCalHist(), CbmDeviceHitBuilderTof::CreateHistograms(), CbmTofCosmicClusterizer::CreateHistos(), CbmTofTestBeamClusterizer::CreateHistos(), CbmTofEventClusterizer::CreateHistos(), CbmTofFindTracks::ExecFind(), CbmTofCalibrator::FillCalHist(), CbmTofFindTracks::FillHistograms(), CbmDeviceHitBuilderTof::FillHistos(), CbmTofCosmicClusterizer::FillHistos(), CbmTofTestBeamClusterizer::FillHistos(), CbmTofEventClusterizer::FillHistos(), CbmTofAnaTestbeam::FillHistos(), CbmTofDigi::GetType(), CbmDeviceHitBuilderTof::LoadGeometry(), CbmTofCosmicClusterizer::LoadGeometry(), CbmTofTestBeamClusterizer::LoadGeometry(), CbmTofEventClusterizer::LoadGeometry(), CbmTofAnaTestbeam::LoadGeometry(), CbmTofCosmicClusterizer::MergeClusters(), CbmTofTestBeamClusterizer::MergeClusters(), CbmTofEventClusterizer::MergeClusters(), CbmTofCalibrator::ReadHist(), CbmTofCalibrator::UpdateCalHist(), CbmTofCosmicClusterizer::WriteHistos(), CbmTofTestBeamClusterizer::WriteHistos(), and CbmTofEventClusterizer::WriteHistos().
|
inlinestaticinherited |
Get the system Id from the address
address | Unique address |
Definition at line 43 of file CbmAddress.h.
References CbmAddress::fgkSystemBits.
Referenced by CbmRecoSts::ProcessData(), and TEST().
|
inlinestatic |
Builder Get the unique address from all parameters
[in] | Sm | Super Module Id. |
[in] | Rpc | Rpc Id. |
[in] | Channel | Channel Id. |
[in] | Side | Channel Side (optional, used for strips). |
[in] | Sm | Type Super Module Type (optional). |
Definition at line 124 of file CbmTofAddress.h.
References fgkChannelIdBits, fgkChannelIdOffset, fgkChannelSideBits, fgkChannelSideOffset, fgkRpcIdBits, fgkRpcIdOffset, fgkSmIdBits, fgkSmIdOffset, fgkSmTypeBits, fgkSmTypeOffset, CbmAddress::fgkSystemBits, kTof, and ToIntegralType().
Referenced by CbmDeviceHitBuilderTof::AddNextChan(), CbmTofCosmicClusterizer::AddNextChan(), CbmTofTestBeamClusterizer::AddNextChan(), CbmTofEventClusterizer::AddNextChan(), CbmTofSimpClusterizer::BuildClusters(), CbmTofCosmicClusterizer::BuildClusters(), CbmTofTestBeamClusterizer::BuildClusters(), CbmDeviceHitBuilderTof::BuildHits(), CbmTofEventClusterizer::BuildHits(), CbmTofDigi::CbmTofDigi(), ConvertCbmTofDetectorId(), ConvertCbmTofDetectorInfo(), CbmTofCalibrator::CreateCalHist(), CbmDeviceHitBuilderTof::CreateHistograms(), CbmTofCosmicClusterizer::CreateHistos(), CbmTofTestBeamClusterizer::CreateHistos(), CbmTofEventClusterizer::CreateHistos(), CbmTofDigitize::DigitizeDirectClusterSize(), CbmTofDigitize::DigitizeFlatDisc(), CbmTofDigitize::DigitizeGaussCharge(), CbmTofTrackFinderNN::DoFind(), CbmTofTBClusterizer::Exec(), CbmTofFindTracks::FillHistograms(), CbmTofAnaTestbeam::FillHistos(), CbmTofDigiBdfPar::getParams(), CbmTofTestBeamClusterizer::Init(), CbmTofCosmicClusterizer::Init(), CbmTofEventClusterizer::Init(), CbmDeviceHitBuilderTof::InitContainers(), CbmMcbm2018UnpackerAlgoTof::InitParameters(), CbmTofAnaTestbeam::InitParameters(), CbmDeviceUnpackTofMcbm2018::InitTask(), CbmDeviceHitBuilderTof::LoadGeometry(), CbmTofCosmicClusterizer::LoadGeometry(), CbmTofTestBeamClusterizer::LoadGeometry(), CbmTofEventClusterizer::LoadGeometry(), CbmGlobalTrackingTofGeometry::Read(), CbmDeviceUnpackTofMcbm2018::ReInitContainers(), CbmTofDigi::SetAddress(), CbmTofFindTracks::SetBeamCounter(), CbmTofAnaTestbeam::SetBeamRefRpc(), CbmTofAnaTestbeam::SetBeamRefSmId(), CbmTofAnaTestbeam::SetBeamRefSmType(), CbmTofTestBeamClusterizer::SetCalRpc(), CbmTofCosmicClusterizer::SetCalRpc(), CbmTofEventClusterizer::SetCalRpc(), CbmTofTestBeamClusterizer::SetCalSmType(), CbmTofCosmicClusterizer::SetCalSmType(), CbmTofEventClusterizer::SetCalSmType(), CbmTofAnaTestbeam::SetDut(), CbmTofAnaTestbeam::SetDutRpc(), CbmTofAnaTestbeam::SetDutSm(), CbmTofAnaTestbeam::SetMrpcRef(), CbmTofAnaTestbeam::SetMrpcRefRpc(), CbmTofAnaTestbeam::SetMrpcRefSm(), CbmTofAnaTestbeam::SetMrpcSel2(), CbmTofAnaTestbeam::SetMrpcSel2Rpc(), CbmTofAnaTestbeam::SetMrpcSel2Sm(), CbmTofAnaTestbeam::SetMrpcSel3(), CbmTofAnaTestbeam::SetMrpcSel3Rpc(), CbmTofAnaTestbeam::SetMrpcSel3Sm(), CbmTofFindTracks::SetStation(), and CbmTofFindTracks::SetStations().
|
inlinestatic |
Definition at line 138 of file CbmTofAddress.h.
References GetModFullId().
|
staticprivate |
Number of bits for Channel Id in the address field
Definition at line 183 of file CbmTofAddress.h.
Referenced by GetChannelId(), GetNofChannelIdBits(), and GetUniqueAddress().
|
staticprivate |
Offset in bits for Channel Id in the address field
Definition at line 200 of file CbmTofAddress.h.
Referenced by GetChannelId(), and GetUniqueAddress().
|
staticprivate |
Number of bits for Channel Side in the address field
Definition at line 181 of file CbmTofAddress.h.
Referenced by GetChannelSide(), GetNofChSideBits(), and GetUniqueAddress().
|
staticprivate |
Offset in bits for Channel Side Id in the address field
Definition at line 196 of file CbmTofAddress.h.
Referenced by GetChannelSide(), and GetUniqueAddress().
|
staticprivate |
For the module Full Id determination
Definition at line 205 of file CbmTofAddress.h.
Referenced by GetModFullId().
|
staticprivate |
Number of bits for Rpc Id in the address field
Definition at line 179 of file CbmTofAddress.h.
Referenced by GetNofRpcIdBits(), GetRpcId(), and GetUniqueAddress().
|
staticprivate |
Offset in bits for Rpc Id in the address field
Definition at line 198 of file CbmTofAddress.h.
Referenced by GetRpcId(), and GetUniqueAddress().
|
staticprivate |
To adapt the address sub-fields repartition in size, you just need to change number of bits of the two sub-fields changing length. Sub-fields sizes in bits
Number of bits for Super Module Id in the address field
Definition at line 175 of file CbmTofAddress.h.
Referenced by GetNofSmIdBits(), GetSmId(), and GetUniqueAddress().
|
staticprivate |
To adapt the address sub-fields repartition in order, you just need to change the way the offset are calculated. Sub-fields offsets in bits Offset in bits for Super Module Id in the address field
Offset in bits for Super Module Id in the address field
Definition at line 192 of file CbmTofAddress.h.
Referenced by GetSmId(), and GetUniqueAddress().
|
staticprivate |
Number of bits for Super Module Type in the address field
Definition at line 177 of file CbmTofAddress.h.
Referenced by GetNofSmTypeBits(), GetSmType(), and GetUniqueAddress().
|
staticprivate |
Offset in bits for Super Module Type in the address field
Definition at line 194 of file CbmTofAddress.h.
Referenced by GetSmType(), and GetUniqueAddress().
|
staticprotectedinherited |
Number of bits for system Id in the address field
Definition at line 50 of file CbmAddress.h.
Referenced by CbmAddress::GetNofSystemBits(), CbmAddress::GetSystemId(), and GetUniqueAddress().