|
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, 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) |
| void | SetElinkFebMap2022 (Bool_t bFlag=kTRUE) |
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, 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 micro-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. | |
| Bool_t | fbElinkFebMap2022 = kFALSE |
| Backward compatibility with 2022 data. | |
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.
Referenced by CbmMuchUnpackAlgo(), and operator=().
| 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.
References CbmMuchUnpackAlgo().
|
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 619 of file CbmMuchUnpackAlgo.cxx.
References fUnpackPar, CbmMuchAddress::GetAddress(), and CbmMuchAddress::SetElementId().
Referenced by processHitInfo().
|
inlineprotectedvirtual |
Finish function for this algorithm base clase.
Definition at line 118 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] | 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 282 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 fbElinkFebMap2022, 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 micro-Slices
| msContent | |
| uSize | |
| uMsIdx | |
| bError | |
| sMessPatt | |
| vNbMessType |
Get message type
Definition at line 308 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 374 of file CbmMuchUnpackAlgo.cxx.
References fbUseChannelMask, fNrChsPerFeb, fuNbFebs, and fvvbMaskedChannels.
|
delete |
Assignment operator - not implemented.
References CbmMuchUnpackAlgo().
|
protected |
experts please add description
Definition at line 393 of file CbmMuchUnpackAlgo.cxx.
References fNrCrobPerDpb, and CbmMuchUnpackPar::GetNrOfDpbs().
Referenced by initParSet().
|
protected |
experts please add description
Definition at line 408 of file CbmMuchUnpackAlgo.cxx.
|
inlineprotected |
experts please add description marked as not used currently
Definition at line 187 of file CbmMuchUnpackAlgo.h.
Referenced by loopMsMessages().
|
protected |
experts please add description
Definition at line 444 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 458 of file CbmMuchUnpackAlgo.cxx.
References CreateMuchAddress(), fbDupliWithoutAdc, fbRejectDuplicateDigis, fbUseChannelMask, fInactiveChannels, fMaskedNoisyHitsFromCbmMuchAddress, fMonitor, fNrAsicsPerFeb, fNrChsPerAsic, fuCurrDpbIdx, fulTsMsbIndexInTs, fUnpackPar, fuSkippMessNoValidAddress, fuSkippMessNoValidElink, fuSkippMessNoValidFebPosition, fvbFebAdcCut, fvdTimeOffsetNsAsics, fvvbMaskedChannels, fvvulLastTsMsbChan, fvvusLastAdcChan, fvvusLastTsChan, getFullTimeStamp(), stsxyter::Message::GetHitAdc(), stsxyter::Message::GetHitChannel(), stsxyter::Message::GetHitTimeBinning(), stsxyter::Message::GetLinkIndexHitBinning(), 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 761 of file CbmMuchUnpackAlgo.cxx.
References fElinkIdxToFebIdxVec, fMonitor, fuCurrDpbIdx, fUnpackPar, stsxyter::Message::GetData(), getFullTimeStamp(), 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 801 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 859 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 214 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 106 of file CbmMuchUnpackAlgo.h.
References fbElinkFebMap2022.
|
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 916 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 244 of file CbmMuchUnpackAlgo.h.
Referenced by processHitInfo(), and SetDuplicatesRejection().
|
private |
Backward compatibility with 2022 data.
Definition at line 350 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and SetElinkFebMap2022().
|
protected |
Enables the rejection of duplicate digis.
Definition at line 241 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 247 of file CbmMuchUnpackAlgo.h.
Referenced by MaskNoisyChannel(), and processHitInfo().
|
protected |
Minimum adc cut to store a hit.
Definition at line 232 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and SetMinAdcCut().
|
protected |
Minimum adc cut per Feb to store a hit.
Definition at line 235 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and SetMinAdcCut().
|
protected |
Map of DPB Identifier to DPB index.
Definition at line 255 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 294 of file CbmMuchUnpackAlgo.h.
|
protected |
Vector used for the translation between eLink index and FEB index.
Definition at line 291 of file CbmMuchUnpackAlgo.h.
Referenced by processStatusInfo().
|
protected |
Definition at line 337 of file CbmMuchUnpackAlgo.h.
Referenced by init(), processHitInfo(), and SetInactiveChannel().
|
protected |
Definition at line 339 of file CbmMuchUnpackAlgo.h.
Referenced by processHitInfo(), and unpack().
|
protected |
Potential (online) monitor for the unpacking process.
Definition at line 332 of file CbmMuchUnpackAlgo.h.
Referenced by finish(), initParSet(), loopMsMessages(), processErrorInfo(), processHitInfo(), processStatusInfo(), processTsMsbInfo(), SetMonitor(), and unpack().
|
protected |
Current micro-Slice time.
Definition at line 335 of file CbmMuchUnpackAlgo.h.
Referenced by processErrorInfo(), and unpack().
|
protected |
Number of ASICs per CROB.
Definition at line 273 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet().
|
protected |
Number of ASICs per FEB.
Definition at line 276 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and processHitInfo().
|
protected |
Number of Channels per Asic.
Definition at line 279 of file CbmMuchUnpackAlgo.h.
Referenced by initInternalStatus(), initParSet(), and processHitInfo().
|
protected |
Number of Channels per FEB.
Definition at line 282 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and MaskNoisyChannel().
|
protected |
Number of CROBs per DPB.
Definition at line 285 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and printActiveCrobs().
|
protected |
Number of eLinks per CROB.
Definition at line 270 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet().
|
protected |
Number of FEBs per CROB.
Definition at line 288 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet().
|
private |
Settings from parameter file.
Definition at line 347 of file CbmMuchUnpackAlgo.h.
Referenced by GetParContainerRequest(), and SetParFileName().
|
protected |
Current dpb id.
Definition at line 258 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 319 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 317 of file CbmMuchUnpackAlgo.h.
Referenced by processTsMsbInfo(), refreshTsMsbFields(), and unpack().
|
protected |
Number of FEBs with StsXyter ASICs.
Definition at line 264 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and MaskNoisyChannel().
|
private |
Definition at line 342 of file CbmMuchUnpackAlgo.h.
Referenced by CreateMuchAddress(), initParSet(), processHitInfo(), and processStatusInfo().
|
private |
For static/inline mapping functions.
Definition at line 343 of file CbmMuchUnpackAlgo.h.
Referenced by finish(), and processHitInfo().
|
private |
Definition at line 345 of file CbmMuchUnpackAlgo.h.
Referenced by finish(), and processHitInfo().
|
private |
Definition at line 344 of file CbmMuchUnpackAlgo.h.
Referenced by finish(), and processHitInfo().
|
protected |
ADC cuts for FEBs.
Definition at line 267 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), and processHitInfo().
|
protected |
Pulser flag for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 300 of file CbmMuchUnpackAlgo.h.
|
protected |
Masked components to print out missing component only once.
Definition at line 261 of file CbmMuchUnpackAlgo.h.
Referenced by unpack().
|
protected |
ADC gain in e-/b, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 306 of file CbmMuchUnpackAlgo.h.
|
protected |
ADC offset in e-, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 308 of file CbmMuchUnpackAlgo.h.
|
protected |
Time offsets per Asic???
Definition at line 238 of file CbmMuchUnpackAlgo.h.
Referenced by initParSet(), processHitInfo(), and SetAsicTimeOffsetVec().
|
protected |
STS address for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 302 of file CbmMuchUnpackAlgo.h.
|
protected |
Module side for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 304 of file CbmMuchUnpackAlgo.h.
|
protected |
FEB type, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ], 0 = A, 1 = B, -1 if inactive.
Definition at line 297 of file CbmMuchUnpackAlgo.h.
|
protected |
Current TS MSB cycle for DPB.
Definition at line 314 of file CbmMuchUnpackAlgo.h.
Referenced by initInternalStatus(), processTsMsbInfo(), and refreshTsMsbFields().
|
protected |
Current TS MSB for each DPB.
Definition at line 312 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 250 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 328 of file CbmMuchUnpackAlgo.h.
Referenced by initInternalStatus(), and processHitInfo().
|
protected |
ADC of last hit message for each channel, [ AsicIdx ][ Chan ].
Definition at line 326 of file CbmMuchUnpackAlgo.h.
Referenced by initInternalStatus(), and processHitInfo().
|
protected |
TS of last hit message for each channel, [ AsicIdx ][ Chan ].
Definition at line 324 of file CbmMuchUnpackAlgo.h.
Referenced by initInternalStatus(), and processHitInfo().
|
staticprotected |
Duplicate hits suppression.
Definition at line 322 of file CbmMuchUnpackAlgo.h.