CbmRoot
|
#include <CbmMuchUnpackAlgo.h>
Public Member Functions | |
CbmMuchUnpackAlgo () | |
Create the Cbm Much Unpack Algo object. | |
CbmMuchUnpackAlgo (std::string name) | |
Create the Cbm Much Unpack Algo object. | |
virtual | ~CbmMuchUnpackAlgo () |
Destroy the Cbm Much Unpack Algo object. | |
CbmMuchUnpackAlgo (const CbmMuchUnpackAlgo &)=delete | |
Copy constructor - not implemented. | |
CbmMuchUnpackAlgo & | operator= (const CbmMuchUnpackAlgo &)=delete |
Assignment operator - not implemented. | |
void | SetMinAdcCut (uint32_t value) |
Set the minimum adc cut value. | |
void | SetMinAdcCut (uint32_t febid, uint32_t value) |
void | SetAsicTimeOffsetVec (std::vector< double > value) |
Set the time offset per Asic. | |
void | SetDuplicatesRejection (bool bIn=true, bool bDiffAdc=true) |
Enable/Disable the duplicate digis rejection, without or with same ADC checks. | |
virtual std::vector< std::pair< std::string, std::shared_ptr< FairParGenericSet > > > * | GetParContainerRequest (std::string geoTag, std::uint32_t runId) |
Get the requested parameter containers. To be defined in the derived classes! Return the required parameter containers together with the paths to the ascii files to. | |
void | MaskNoisyChannel (const uint32_t uFeb, const uint32_t uChan, const bool bMasked=true) |
Mask a Noisy Channel. | |
void | SetMonitor (std::shared_ptr< CbmMuchUnpackMonitor > monitor) |
Set a predefined monitor. | |
void | SetParFileName (std::string sNewName) |
Sets the name of the parameter file to be used. | |
void | SetInactiveChannel (uint32_t channel) |
Protected Member Functions | |
uint32_t | getFebIndex (uint32_t dpbidx, uint32_t crobidx, uint16_t elinkidx) |
Get the Asic Index. | |
virtual void | finish () |
Finish function for this algorithm base clase. | |
uint64_t | getFullTimeStamp (const uint16_t usRawTs) |
Get the Full Time Stamp from raw time stamp. | |
Bool_t | init () |
Intialisation at begin of run. Special inits of the derived algos. | |
void | initDpbIdIndexMap (CbmMuchUnpackPar *parset) |
Initialize the DpbIdIndexMap with the information from the parset. | |
void | initInternalStatus (CbmMuchUnpackPar *parset) |
experts please add description here | |
Bool_t | initParSet (FairParGenericSet *parset) |
Handles the distribution of the hidden derived classes to their explicit functions. | |
Bool_t | initParSet (CbmMuchUnpackPar *parset) |
Initialize the parameters from CbmMuchUnpackPar. | |
void | loopMsMessages (const uint8_t *msContent, const uint32_t uSize, const size_t uMsIdx) |
Initialize and transfer the informations to the parameters storage vectors. | |
void | printActiveCrobs (CbmMuchUnpackPar *parset, const std::vector< std::vector< bool > > &vbCrobActiveFlag) |
experts please add description | |
void | printAddressMaps (CbmMuchUnpackPar *parset, const std::vector< std::vector< std::vector< int32_t > > > &, const std::vector< std::vector< std::vector< int32_t > > > &) |
experts please add description | |
void | processEpochInfo (const stsxyter::Message &) |
experts please add description marked as not used currently | |
void | processErrorInfo (const stsxyter::Message &mess) |
experts please add description | |
void | processHitInfo (const stsxyter::Message &mess) |
Process the information of the hit message and create a MuchDigi from it. | |
void | processStatusInfo (const stsxyter::Message &mess, uint32_t uIdx) |
experts please add description | |
void | processTsMsbInfo (const stsxyter::Message &mess, uint32_t uMessIdx, uint32_t uMsIdx) |
experts please add description | |
void | refreshTsMsbFields (const uint32_t imslice, const size_t mstime) |
experts please add description here | |
uint32_t | CreateMuchAddress (uint32_t dpbidx, int32_t febId, uint32_t usChan) |
bool | setDerivedTsParameters (size_t) |
Set the Derived Ts Parameters. | |
bool | unpack (const fles::Timeslice *ts, std::uint16_t icomp, UInt_t imslice) |
Unpack a given microslice. To be implemented in the derived unpacker algos. | |
Protected Attributes | |
uint32_t | fdAdcCut = 0 |
Minimum adc cut to store a hit. | |
std::map< uint32_t, uint32_t > | fdAdcCut_perFeb |
Minimum adc cut per Feb to store a hit. | |
std::vector< double > | fvdTimeOffsetNsAsics = {} |
Time offsets per Asic??? | |
bool | fbRejectDuplicateDigis = false |
Enables the rejection of duplicate digis. | |
bool | fbDupliWithoutAdc = true |
If rejecting duplicate digis, enables rejection even if ADC differs. | |
bool | fbUseChannelMask = false |
flag if channel mask is to be used or not. Set automatically via MaskNoisyChannels | |
std::vector< std::vector< bool > > | fvvbMaskedChannels = {} |
Vector of channel masks, [ NbFeb ][ NbCHanInFeb ], used only if fbUseChannelMask is true. | |
std::map< uint32_t, uint32_t > | fDpbIdIndexMap = {} |
Map of DPB Identifier to DPB index. | |
uint32_t | fuCurrDpbIdx = 0 |
Current dpb id. | |
std::vector< bool > | fvbMaskedComponents |
Masked components to print out missing component only once. | |
uint32_t | fuNbFebs = 0 |
Number of FEBs with StsXyter ASICs. | |
std::vector< uint32_t > | fvbFebAdcCut = {} |
ADC cuts for FEBs. | |
uint32_t | fNrElinksPerCrob = 0 |
Number of eLinks per CROB. | |
uint32_t | fNrAsicsPerCrob = 0 |
Number of ASICs per CROB. | |
uint32_t | fNrAsicsPerFeb = 0 |
Number of ASICs per FEB. | |
uint32_t | fNrChsPerAsic = 0 |
Number of Channels per Asic. | |
uint32_t | fNrChsPerFeb = 0 |
Number of Channels per FEB. | |
uint32_t | fNrCrobPerDpb = 0 |
Number of CROBs per DPB. | |
uint32_t | fNrFebsPerCrob = 0 |
Number of FEBs per CROB. | |
std::vector< int > | fElinkIdxToFebIdxVec = {} |
Vector used for the translation between eLink index and FEB index. | |
std::vector< std::pair< uint32_t, uint32_t > > | fElinkIdxToAsicIdxVec = {} |
Vector used for the translation between eLink index and Asic index first is feb type A second is feb type b. | |
std::vector< std::vector< std::vector< int32_t > > > | fviFebType = {} |
FEB type, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ], 0 = A, 1 = B, -1 if inactive. | |
std::vector< bool > | fvbFebPulser |
Pulser flag for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]. | |
std::vector< int32_t > | fviFebAddress |
STS address for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]. | |
std::vector< int32_t > | fviFebSide |
Module side for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]. | |
std::vector< double > | fvdFebAdcGain |
ADC gain in e-/b, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]. | |
std::vector< double > | fvdFebAdcOffs |
ADC offset in e-, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]. | |
std::vector< uint64_t > | fvulCurrentTsMsb = {} |
Current TS MSB for each DPB. | |
std::vector< uint32_t > | fvuCurrentTsMsbCycle = {} |
Current TS MSB cycle for DPB. | |
uint64_t | fulTsStartInTsMsb = 0 |
Start time of the TS expressed in TS_MSB instead of ns. | |
std::vector< uint64_t > | fulTsMsbIndexInTs = {} |
Current TS MSB cycle for DPB relative to TS start. | |
std::vector< std::vector< uint16_t > > | fvvusLastTsChan = {} |
TS of last hit message for each channel, [ AsicIdx ][ Chan ]. | |
std::vector< std::vector< uint16_t > > | fvvusLastAdcChan = {} |
ADC of last hit message for each channel, [ AsicIdx ][ Chan ]. | |
std::vector< std::vector< uint64_t > > | fvvulLastTsMsbChan = {} |
TS MSB in TS of last hit message for each channel, [ AsicIdx ][ Chan ]. | |
std::shared_ptr< CbmMuchUnpackMonitor > | fMonitor = nullptr |
Potential (online) monitor for the unpacking process. | |
uint64_t | fMsStartTime = 0 |
Current µSlice time. | |
std::set< uint32_t > | fInactiveChannels = {} |
uint64_t | fMaskedNoisyHitsFromCbmMuchAddress = 0 |
Static Protected Attributes | |
static const uint32_t | kuMaxTsMsbDiffDuplicates = 8 |
Duplicate hits suppression. | |
Private Attributes | |
CbmMuchUnpackPar * | fUnpackPar = nullptr |
uint64_t | fuSkippMessNoValidAddress = 0 |
For static/inline mapping functions. | |
uint64_t | fuSkippMessNoValidFebPosition = 0 |
uint64_t | fuSkippMessNoValidElink = 0 |
std::string | fParFileName = "mMuchPar.par" |
Settings from parameter file. | |
Definition at line 39 of file CbmMuchUnpackAlgo.h.
CbmMuchUnpackAlgo::CbmMuchUnpackAlgo | ( | ) |
Create the Cbm Much Unpack Algo object.
Definition at line 20 of file CbmMuchUnpackAlgo.cxx.
CbmMuchUnpackAlgo::CbmMuchUnpackAlgo | ( | std::string | name | ) |
Create the Cbm Much Unpack Algo object.
Definition at line 22 of file CbmMuchUnpackAlgo.cxx.
|
virtual |
Destroy the Cbm Much Unpack Algo object.
Definition at line 24 of file CbmMuchUnpackAlgo.cxx.
|
delete |
Copy constructor - not implemented.
|
protected |
Below FebID is according to FEB Position in Module GEM A or Module GEM B (Carefully write MUCH Par file)
Switch to smx2.0/smx2.1 data-> fiFlag = 0 for 2.0 and fiFlag = 1 for 2.1
Definition at line 618 of file CbmMuchUnpackAlgo.cxx.
References fUnpackPar, CbmMuchAddress::GetAddress(), CbmMuchUnpackPar::GetPadXA(), CbmMuchUnpackPar::GetPadXB(), CbmMuchUnpackPar::GetPadXRpc(), CbmMuchUnpackPar::GetPadYA(), CbmMuchUnpackPar::GetPadYB(), CbmMuchUnpackPar::GetPadYRpc(), and CbmMuchAddress::SetElementId().
Referenced by processHitInfo().
|
inlineprotectedvirtual |
Finish function for this algorithm base clase.
Definition at line 116 of file CbmMuchUnpackAlgo.h.
References fMonitor, fuSkippMessNoValidAddress, fuSkippMessNoValidElink, and fuSkippMessNoValidFebPosition.
|
protected |
Get the Asic Index.
dpbidx | |
crobidx | |
elinkidx |
|
protected |
Get the Full Time Stamp from raw time stamp.
usRawTs |
Definition at line 54 of file CbmMuchUnpackAlgo.cxx.
References fuCurrDpbIdx, fulTsMsbIndexInTs, and stsxyter::kuHitNbTsBinsBinning.
Referenced by processHitInfo(), and processStatusInfo().
|
virtual |
Get the requested parameter containers. To be defined in the derived classes! Return the required parameter containers together with the paths to the ascii files to.
[in] | std::string | geoTag as used in CbmSetup |
[in] | std::uint32_t | runId for runwise defined parameters |
Definition at line 28 of file CbmMuchUnpackAlgo.cxx.
References fParFileName.
|
protected |
Intialisation at begin of run. Special inits of the derived algos.
Bool_t | initOk |
Definition at line 68 of file CbmMuchUnpackAlgo.cxx.
References fInactiveChannels.
|
protected |
Initialize the DpbIdIndexMap with the information from the parset.
[in] | parset | parameter set for the Much unpacker |
Definition at line 78 of file CbmMuchUnpackAlgo.cxx.
References fDpbIdIndexMap, CbmMuchUnpackPar::GetDpbId(), and CbmMuchUnpackPar::GetNrOfDpbs().
Referenced by initParSet().
|
protected |
experts please add description here
Definition at line 281 of file CbmMuchUnpackAlgo.cxx.
References fNrChsPerAsic, fulTsMsbIndexInTs, fvuCurrentTsMsbCycle, fvulCurrentTsMsb, fvvulLastTsMsbChan, fvvusLastAdcChan, fvvusLastTsChan, CbmMuchUnpackPar::GetNrOfAsics(), and CbmMuchUnpackPar::GetNrOfDpbs().
Referenced by initParSet().
|
protected |
Initialize the parameters from CbmMuchUnpackPar.
parset |
Definition at line 102 of file CbmMuchUnpackAlgo.cxx.
References fdAdcCut, fdAdcCut_perFeb, fMonitor, fNrAsicsPerCrob, fNrAsicsPerFeb, fNrChsPerAsic, fNrChsPerFeb, fNrCrobPerDpb, fNrElinksPerCrob, fNrFebsPerCrob, fuNbFebs, fUnpackPar, fvbFebAdcCut, fvdTimeOffsetNsAsics, CbmMuchUnpackPar::GetNbAsicsPerCrob(), CbmMuchUnpackPar::GetNbAsicsPerFeb(), CbmMuchUnpackPar::GetNbChanPerAsic(), CbmMuchUnpackPar::GetNbChanPerFeb(), CbmMuchUnpackPar::GetNbCrobsPerDpb(), CbmMuchUnpackPar::GetNbElinkPerCrob(), CbmMuchUnpackPar::GetNbFebsPerCrob(), CbmMuchUnpackPar::GetNrOfDpbs(), CbmMuchUnpackPar::GetNrOfFebs(), initDpbIdIndexMap(), initInternalStatus(), CbmMuchUnpackPar::IsCrobActive(), and printActiveCrobs().
|
protected |
Handles the distribution of the hidden derived classes to their explicit functions.
parset |
Definition at line 89 of file CbmMuchUnpackAlgo.cxx.
References initParSet().
Referenced by initParSet().
|
protected |
Initialize and transfer the informations to the parameters storage vectors.
Main loop over the sts xyter messages in the µSlices
msContent | |
uSize | |
uMsIdx | |
bError | |
sMessPatt | |
vNbMessType |
Get message type
Definition at line 307 of file CbmMuchUnpackAlgo.cxx.
References stsxyter::Dummy, stsxyter::Empty, stsxyter::EndOfMs, stsxyter::Epoch, fMonitor, fuCurrDpbIdx, stsxyter::Message::GetMessType(), stsxyter::Hit, stsxyter::Message::PrintMessType(), processEpochInfo(), processErrorInfo(), processHitInfo(), processStatusInfo(), processTsMsbInfo(), stsxyter::Status, and stsxyter::TsMsb.
Referenced by unpack().
void CbmMuchUnpackAlgo::MaskNoisyChannel | ( | const uint32_t | uFeb, |
const uint32_t | uChan, | ||
const bool | bMasked = true ) |
Mask a Noisy Channel.
uFeb | |
uChan | |
bMasked |
Definition at line 373 of file CbmMuchUnpackAlgo.cxx.
References fbUseChannelMask, fNrChsPerFeb, fuNbFebs, and fvvbMaskedChannels.
|
delete |
Assignment operator - not implemented.
|
protected |
experts please add description
Definition at line 392 of file CbmMuchUnpackAlgo.cxx.
References fNrCrobPerDpb, and CbmMuchUnpackPar::GetNrOfDpbs().
Referenced by initParSet().
|
protected |
experts please add description
Definition at line 407 of file CbmMuchUnpackAlgo.cxx.
|
inlineprotected |
experts please add description marked as not used currently
Definition at line 185 of file CbmMuchUnpackAlgo.h.
Referenced by loopMsMessages().
|
protected |
experts please add description
Definition at line 443 of file CbmMuchUnpackAlgo.cxx.
References fMonitor, fMsStartTime, fuCurrDpbIdx, stsxyter::Message::GetMsErrorType(), stsxyter::Message::IsMsErrorFlagOn(), and kMuch.
Referenced by loopMsMessages().
|
protected |
Process the information of the hit message and create a MuchDigi from it.
Store hit !!!
Store only if masking is disabled or if channeld is not masked 2D vector is safe as always right size if masking enabled
Duplicate hits rejection
FIXME: add plots to check what is done in this rejection
FIXME: see issue #1549 N side: 0-1023 => 0-1023 P side: 0-1023 => 2047-1024
Prevent Clang from onlining
Catch the pulser digis and either save them to their own output or drop them
If EM flag ON, store a corresponding error message with the next flag after all other possible status flags set
Definition at line 457 of file CbmMuchUnpackAlgo.cxx.
References CreateMuchAddress(), CbmMuchUnpackPar::ElinkIdxToFebIdx(), fbDupliWithoutAdc, fbRejectDuplicateDigis, fbUseChannelMask, fInactiveChannels, fMaskedNoisyHitsFromCbmMuchAddress, fMonitor, fNrAsicsPerFeb, fNrChsPerAsic, fuCurrDpbIdx, fulTsMsbIndexInTs, fUnpackPar, fuSkippMessNoValidAddress, fuSkippMessNoValidElink, fuSkippMessNoValidFebPosition, fvbFebAdcCut, fvdTimeOffsetNsAsics, fvvbMaskedChannels, fvvulLastTsMsbChan, fvvusLastAdcChan, fvvusLastTsChan, CbmMuchUnpackPar::GetFebId(), getFullTimeStamp(), stsxyter::Message::GetHitAdc(), stsxyter::Message::GetHitChannel(), stsxyter::Message::GetHitTimeBinning(), stsxyter::Message::GetLinkIndexHitBinning(), CbmMuchUnpackPar::GetNbFebsPerDpb(), stsxyter::Message::IsHitMissedEvts(), stsxyter::kdClockCycleNs, kMuch, and stsxyter::kusLenStatStatus.
Referenced by loopMsMessages().
|
protected |
experts please add description
Compute the Full time stamp
Convert the time in bins to Hit time in ns
Definition at line 760 of file CbmMuchUnpackAlgo.cxx.
References CbmMuchUnpackPar::ElinkIdxToFebIdx(), fElinkIdxToFebIdxVec, fMonitor, fuCurrDpbIdx, fUnpackPar, stsxyter::Message::GetData(), getFullTimeStamp(), CbmMuchUnpackPar::GetNbFebsPerDpb(), stsxyter::Message::GetStatusLink(), stsxyter::Message::GetStatusStatus(), stsxyter::kdClockCycleNs, kMuch, stsxyter::msg_print_Human, and stsxyter::Message::PrintMess().
Referenced by loopMsMessages().
|
protected |
experts please add description
Case where we reach a normal cycle edge
First TS_MSB in MS may jump if TS dropped by DAQ
Msg 1 and 2 will be same TS_MSB if data in 1st bin
New FW introduced TS_MSB suppression + large TS_MSB => warning only if value not increasing
Values Printout
Definition at line 800 of file CbmMuchUnpackAlgo.cxx.
References fMonitor, fuCurrDpbIdx, fulTsMsbIndexInTs, fulTsStartInTsMsb, fvuCurrentTsMsbCycle, fvulCurrentTsMsb, stsxyter::Message::GetTsMsbValBinning(), stsxyter::kusLenTsMsbValBinning, and stsxyter::kuTsMsbNbTsBinsBinning.
Referenced by loopMsMessages().
|
protected |
experts please add description here
Values Printout
Transition at the edge of two MS, the first TS_MSB message (idx 1) will make the cycle
Definition at line 858 of file CbmMuchUnpackAlgo.cxx.
References fuCurrDpbIdx, fulTsMsbIndexInTs, fulTsStartInTsMsb, fvuCurrentTsMsbCycle, fvulCurrentTsMsb, stsxyter::kdClockCycleNs, stsxyter::kuHitNbTsBinsBinning, stsxyter::kulTsCycleNbBinsBinning, stsxyter::kusLenTsMsbValBinning, and stsxyter::kuTsMsbNbTsBinsBinning.
Referenced by unpack().
|
inline |
Set the time offset per Asic.
Definition at line 64 of file CbmMuchUnpackAlgo.h.
References fvdTimeOffsetNsAsics.
|
inlineprotected |
Set the Derived Ts Parameters.
In this function parameters required by the explicit algo connected to the timeslice can be set.
itimeslice |
Definition at line 212 of file CbmMuchUnpackAlgo.h.
|
inline |
Enable/Disable the duplicate digis rejection, without or with same ADC checks.
Definition at line 67 of file CbmMuchUnpackAlgo.h.
References fbDupliWithoutAdc, and fbRejectDuplicateDigis.
|
inline |
Definition at line 104 of file CbmMuchUnpackAlgo.h.
References fInactiveChannels.
|
inline |
Definition at line 61 of file CbmMuchUnpackAlgo.h.
References fdAdcCut_perFeb.
|
inline |
Set the minimum adc cut value.
[in] | value |
Definition at line 59 of file CbmMuchUnpackAlgo.h.
References fdAdcCut.
|
inline |
Set a predefined monitor.
monitor | predefined unpacking monitor |
Definition at line 95 of file CbmMuchUnpackAlgo.h.
References fMonitor.
|
inline |
Sets the name of the parameter file to be used.
[in] | std:string,path | should not be included as set in the Config class |
Definition at line 102 of file CbmMuchUnpackAlgo.h.
References fParFileName.
|
protected |
Unpack a given microslice. To be implemented in the derived unpacker algos.
ts | timeslice pointer |
icomp | index to the component to be unpacked |
imslice | index of the microslice to be unpacked |
If monitoring enable, fill here the "Per Timeslice" histograms with info from the previous TS as only way to detect TS transitions due to the multiple calls in case of multiple components. Time set to tlast MS in previous TS. Last TS will be missed.
Check if this sDPB ID was declared in parameter file and stop there if not
If first TS being analyzed, we are probably detecting STS/MUCH boards with same sysid => Do not report the MS as bad, just ignore it
Extract the time base only on MS 0, assuming that we get all TS of a component in order
Definition at line 915 of file CbmMuchUnpackAlgo.cxx.
References fDpbIdIndexMap, fMaskedNoisyHitsFromCbmMuchAddress, fMonitor, fMsStartTime, fuCurrDpbIdx, fulTsStartInTsMsb, fvbMaskedComponents, stsxyter::kdClockCycleNs, stsxyter::kuHitNbTsBinsBinning, loopMsMessages(), and refreshTsMsbFields().
|
protected |
If rejecting duplicate digis, enables rejection even if ADC differs.
Definition at line 242 of file CbmMuchUnpackAlgo.h.
Referenced by processHitInfo(), and SetDuplicatesRejection().
|
protected |
Enables the rejection of duplicate digis.
Definition at line 239 of file CbmMuchUnpackAlgo.h.
Referenced by processHitInfo(), and SetDuplicatesRejection().
|
protected |
flag if channel mask is to be used or not. Set automatically via MaskNoisyChannels
Definition at line 245 of file CbmMuchUnpackAlgo.h.
Referenced by MaskNoisyChannel(), and processHitInfo().
|
protected |
Minimum adc cut to store a hit.
Definition at line 230 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and SetMinAdcCut().
|
protected |
Minimum adc cut per Feb to store a hit.
Definition at line 233 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and SetMinAdcCut().
|
protected |
Map of DPB Identifier to DPB index.
Definition at line 253 of file CbmMuchUnpackAlgo.h.
Referenced by initDpbIdIndexMap(), and unpack().
|
protected |
Vector used for the translation between eLink index and Asic index first is feb type A second is feb type b.
Definition at line 292 of file CbmMuchUnpackAlgo.h.
|
protected |
Vector used for the translation between eLink index and FEB index.
Definition at line 289 of file CbmMuchUnpackAlgo.h.
Referenced by processStatusInfo().
|
protected |
Definition at line 335 of file CbmMuchUnpackAlgo.h.
Referenced by init(), processHitInfo(), and SetInactiveChannel().
|
protected |
Definition at line 337 of file CbmMuchUnpackAlgo.h.
Referenced by processHitInfo(), and unpack().
|
protected |
Potential (online) monitor for the unpacking process.
Definition at line 330 of file CbmMuchUnpackAlgo.h.
Referenced by finish(), initParSet(), loopMsMessages(), processErrorInfo(), processHitInfo(), processStatusInfo(), processTsMsbInfo(), SetMonitor(), and unpack().
|
protected |
Current µSlice time.
Definition at line 333 of file CbmMuchUnpackAlgo.h.
Referenced by processErrorInfo(), and unpack().
|
protected |
Number of ASICs per CROB.
Definition at line 271 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet().
|
protected |
Number of ASICs per FEB.
Definition at line 274 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and processHitInfo().
|
protected |
Number of Channels per Asic.
Definition at line 277 of file CbmMuchUnpackAlgo.h.
Referenced by initInternalStatus(), initParSet(), and processHitInfo().
|
protected |
Number of Channels per FEB.
Definition at line 280 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and MaskNoisyChannel().
|
protected |
Number of CROBs per DPB.
Definition at line 283 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and printActiveCrobs().
|
protected |
Number of eLinks per CROB.
Definition at line 268 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet().
|
protected |
Number of FEBs per CROB.
Definition at line 286 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet().
|
private |
Settings from parameter file.
Definition at line 345 of file CbmMuchUnpackAlgo.h.
Referenced by GetParContainerRequest(), and SetParFileName().
|
protected |
Current dpb id.
Definition at line 256 of file CbmMuchUnpackAlgo.h.
Referenced by getFullTimeStamp(), loopMsMessages(), processErrorInfo(), processHitInfo(), processStatusInfo(), processTsMsbInfo(), refreshTsMsbFields(), and unpack().
|
protected |
Current TS MSB cycle for DPB relative to TS start.
Definition at line 317 of file CbmMuchUnpackAlgo.h.
Referenced by getFullTimeStamp(), initInternalStatus(), processHitInfo(), processTsMsbInfo(), and refreshTsMsbFields().
|
protected |
Start time of the TS expressed in TS_MSB instead of ns.
Definition at line 315 of file CbmMuchUnpackAlgo.h.
Referenced by processTsMsbInfo(), refreshTsMsbFields(), and unpack().
|
protected |
Number of FEBs with StsXyter ASICs.
Definition at line 262 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and MaskNoisyChannel().
|
private |
Definition at line 340 of file CbmMuchUnpackAlgo.h.
Referenced by CreateMuchAddress(), initParSet(), processHitInfo(), and processStatusInfo().
|
private |
For static/inline mapping functions.
Definition at line 341 of file CbmMuchUnpackAlgo.h.
Referenced by finish(), and processHitInfo().
|
private |
Definition at line 343 of file CbmMuchUnpackAlgo.h.
Referenced by finish(), and processHitInfo().
|
private |
Definition at line 342 of file CbmMuchUnpackAlgo.h.
Referenced by finish(), and processHitInfo().
|
protected |
ADC cuts for FEBs.
Definition at line 265 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and processHitInfo().
|
protected |
Pulser flag for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 298 of file CbmMuchUnpackAlgo.h.
|
protected |
Masked components to print out missing component only once.
Definition at line 259 of file CbmMuchUnpackAlgo.h.
Referenced by unpack().
|
protected |
ADC gain in e-/b, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 304 of file CbmMuchUnpackAlgo.h.
|
protected |
ADC offset in e-, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 306 of file CbmMuchUnpackAlgo.h.
|
protected |
Time offsets per Asic???
Definition at line 236 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), processHitInfo(), and SetAsicTimeOffsetVec().
|
protected |
STS address for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 300 of file CbmMuchUnpackAlgo.h.
|
protected |
Module side for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 302 of file CbmMuchUnpackAlgo.h.
|
protected |
FEB type, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ], 0 = A, 1 = B, -1 if inactive.
Definition at line 295 of file CbmMuchUnpackAlgo.h.
|
protected |
Current TS MSB cycle for DPB.
Definition at line 312 of file CbmMuchUnpackAlgo.h.
Referenced by initInternalStatus(), processTsMsbInfo(), and refreshTsMsbFields().
|
protected |
Current TS MSB for each DPB.
Definition at line 310 of file CbmMuchUnpackAlgo.h.
Referenced by initInternalStatus(), processTsMsbInfo(), and refreshTsMsbFields().
|
protected |
Vector of channel masks, [ NbFeb ][ NbCHanInFeb ], used only if fbUseChannelMask is true.
Definition at line 248 of file CbmMuchUnpackAlgo.h.
Referenced by MaskNoisyChannel(), and processHitInfo().
|
protected |
TS MSB in TS of last hit message for each channel, [ AsicIdx ][ Chan ].
Definition at line 326 of file CbmMuchUnpackAlgo.h.
Referenced by initInternalStatus(), and processHitInfo().
|
protected |
ADC of last hit message for each channel, [ AsicIdx ][ Chan ].
Definition at line 324 of file CbmMuchUnpackAlgo.h.
Referenced by initInternalStatus(), and processHitInfo().
|
protected |
TS of last hit message for each channel, [ AsicIdx ][ Chan ].
Definition at line 322 of file CbmMuchUnpackAlgo.h.
Referenced by initInternalStatus(), and processHitInfo().
|
staticprotected |
Duplicate hits suppression.
Definition at line 320 of file CbmMuchUnpackAlgo.h.