CbmRoot
|
#include <UnpackMS.h>
Classes | |
struct | MSContext |
Public Types | |
using | Digi_t |
using | Monitor_t |
using | Aux_t |
using | Result_t |
Public Member Functions | |
UnpackMS (const UnpackPar &pars) | |
Construct from parameters. | |
~UnpackMS () override | |
Destructor. | |
Result_t | operator() (const uint8_t *msContent, const fles::MicrosliceDescriptor &msDescr, const uint64_t tTimeslice) const override |
Algorithm execution. | |
void | SetParams (std::unique_ptr< UnpackPar > params) |
Set the parameter container. | |
Private Member Functions | |
void | ProcessTrbPacket (MicrosliceReader &reader, MSContext &ctx) const |
void | ProcessHubBlock (MicrosliceReader &reader, MSContext &ctx) const |
int | ProcessCtsHeader (MicrosliceReader &reader, uint32_t subSubEventSize, uint32_t subSubEventId) const |
void | ProcessSubSubEvent (MicrosliceReader &reader, int nofTimeWords, uint32_t subSubEventId, MSContext &ctx) const |
bool | ProcessTimeDataWord (uint32_t epoch, uint32_t tdcWord, uint32_t subSubEventId, std::vector< double > &raisingTime, MSContext &ctx) const |
TdcWordType | GetTdcWordType (uint32_t tdcWord) const |
TdcTimeData | ProcessTimeData (uint32_t tdcWord) const |
uint32_t | ProcessEpoch (uint32_t tdcWord) const |
uint16_t | ProcessHeader (uint32_t tdcWord) const |
uint16_t | ProcessTrailer (uint32_t tdcWord) const |
void | WriteOutputDigi (int32_t fpgaID, int32_t channel, double time, double tot, MSContext &ctx) const |
double | CalculateTime (uint32_t epoch, uint32_t coarse, uint32_t fine) const |
int32_t | GetPixelUID (int32_t fpgaID, int32_t ch) const |
bool | CheckMaskedDiRICH (int32_t subSubEventId) const |
Private Attributes | |
UnpackPar | fParams = {} |
Parameter container. | |
std::vector< int32_t > | fMaskedDiRICHes |
bool | fbDoToTCorr = true |
double | fToTMin = -20. |
double | fToTMax = 100. |
Definition at line 117 of file rich/UnpackMS.h.
|
inherited |
Definition at line 23 of file UnpackMSBase.h.
|
inherited |
Definition at line 21 of file UnpackMSBase.h.
|
inherited |
Definition at line 22 of file UnpackMSBase.h.
|
inherited |
Definition at line 25 of file UnpackMSBase.h.
cbm::algo::rich::UnpackMS::UnpackMS | ( | const UnpackPar & | pars | ) |
Construct from parameters.
Definition at line 13 of file rich/UnpackMS.cxx.
|
overridedefault |
Destructor.
|
private |
Definition at line 392 of file rich/UnpackMS.cxx.
Referenced by ProcessTimeDataWord(), and ProcessTrbPacket().
|
private |
Definition at line 410 of file rich/UnpackMS.cxx.
References fMaskedDiRICHes.
Referenced by ProcessSubSubEvent().
|
private |
Definition at line 439 of file rich/UnpackMS.cxx.
Referenced by WriteOutputDigi().
|
private |
Definition at line 418 of file rich/UnpackMS.cxx.
References cbm::algo::rich::Debug, cbm::algo::rich::Epoch, cbm::algo::rich::Error, cbm::algo::rich::Header, cbm::algo::rich::TimeData, and cbm::algo::rich::Trailer.
Referenced by ProcessSubSubEvent().
|
overridevirtual |
Algorithm execution.
msContent | Microslice payload |
msDescr | Microslice descriptor |
tTimeslice | Unix start time of timeslice [ns] |
Implements cbm::algo::UnpackMSBase< CbmRichDigi, UnpackMonitorData, UnpackAuxData >.
Definition at line 17 of file rich/UnpackMS.cxx.
References cbm::algo::rich::UnpackMS::MSContext::cbmTimeMS, cbm::algo::rich::UnpackMS::MSContext::digis, cbm::algo::rich::MicrosliceReader::GetOffset(), cbm::algo::rich::MicrosliceReader::GetSize(), cbm::algo::rich::MicrosliceReader::IsNextPadding(), cbm::algo::rich::UnpackMS::MSContext::monitor, cbm::algo::rich::MicrosliceReader::NextWord(), ProcessHubBlock(), ProcessTrbPacket(), cbm::algo::rich::UnpackMS::MSContext::refTime, and cbm::algo::rich::MicrosliceReader::SetData().
|
private |
Definition at line 138 of file rich/UnpackMS.cxx.
References cbm::algo::rich::MicrosliceReader::NextWord().
Referenced by ProcessHubBlock().
|
private |
Definition at line 456 of file rich/UnpackMS.cxx.
Referenced by ProcessSubSubEvent(), and ProcessTrbPacket().
|
private |
Definition at line 458 of file rich/UnpackMS.cxx.
|
private |
Definition at line 83 of file rich/UnpackMS.cxx.
References cbm::algo::rich::UnpackMS::MSContext::currentSubSubEvent, cbm::algo::rich::UnpackMonitorData::fNumErrExcessLastWords, cbm::algo::rich::UnpackMonitorData::fNumErrInvalidHubId, cbm::algo::rich::UnpackMonitorData::fNumErrInvalidHubSize, cbm::algo::rich::MicrosliceReader::IsLastSubSubEvent(), cbm::algo::rich::MicrosliceReader::IsNextPadding(), cbm::algo::rich::UnpackMS::MSContext::monitor, cbm::algo::rich::MicrosliceReader::NextWord(), ProcessCtsHeader(), and ProcessSubSubEvent().
Referenced by operator()().
|
private |
Definition at line 166 of file rich/UnpackMS.cxx.
References CheckMaskedDiRICH(), cbm::algo::rich::Debug, cbm::algo::rich::Epoch, cbm::algo::rich::Error, cbm::algo::rich::UnpackPar::fElinkParams, cbm::algo::rich::UnpackMonitorData::fNumCtsAndUnmappedDirich, cbm::algo::rich::UnpackMonitorData::fNumDebugMessage, cbm::algo::rich::UnpackMonitorData::fNumErrInvalidFirstMessage, cbm::algo::rich::UnpackMonitorData::fNumErrInvalidLastMessage, cbm::algo::rich::UnpackMonitorData::fNumErrInvalidSecondMessage, cbm::algo::rich::UnpackMonitorData::fNumErrOrphanRecovTimeData, cbm::algo::rich::UnpackMonitorData::fNumErrTdcErrorWord, cbm::algo::rich::UnpackMonitorData::fNumErrWildEpoch, cbm::algo::rich::UnpackMonitorData::fNumErrWildHeaderMessage, cbm::algo::rich::UnpackMonitorData::fNumErrWildTdcTime, cbm::algo::rich::UnpackMonitorData::fNumErrWildTrailerMessage, cbm::algo::rich::UnpackMonitorData::fNumSkippedSubsubevent, cbm::algo::rich::UnpackMonitorData::fNumWarnRecoveredLastDigi, fParams, GetTdcWordType(), cbm::algo::rich::Header, L_, cbm::algo::rich::UnpackMS::MSContext::monitor, cbm::algo::rich::MicrosliceReader::NextWord(), ProcessEpoch(), ProcessTimeDataWord(), cbm::algo::rich::TimeData, and cbm::algo::rich::Trailer.
Referenced by ProcessHubBlock().
|
private |
Definition at line 446 of file rich/UnpackMS.cxx.
References cbm::algo::rich::TdcTimeData::fChannel, cbm::algo::rich::TdcTimeData::fCoarse, cbm::algo::rich::TdcTimeData::fFine, and cbm::algo::rich::TdcTimeData::fIsRisingEdge.
Referenced by ProcessTimeDataWord(), and ProcessTrbPacket().
|
private |
Definition at line 350 of file rich/UnpackMS.cxx.
References CalculateTime(), cbm::algo::rich::UnpackMS::MSContext::cbmTimeMS, cbm::algo::rich::UnpackMS::MSContext::cbmTimePacket, cbm::algo::rich::UnpackMS::MSContext::currentSubSubEvent, cbm::algo::rich::TdcTimeData::fChannel, cbm::algo::rich::TdcTimeData::fCoarse, cbm::algo::rich::TdcTimeData::fFine, cbm::algo::rich::TdcTimeData::fIsRisingEdge, cbm::algo::rich::UnpackMonitorData::fNumErrChannelOutOfBounds, fToTMax, fToTMin, cbm::algo::rich::UnpackMS::MSContext::mbsCorr, cbm::algo::rich::UnpackMS::MSContext::monitor, cbm::algo::rich::UnpackMS::MSContext::prevLastCh0ReTime, ProcessTimeData(), and WriteOutputDigi().
Referenced by ProcessSubSubEvent().
|
private |
Definition at line 463 of file rich/UnpackMS.cxx.
|
private |
Definition at line 52 of file rich/UnpackMS.cxx.
References CalculateTime(), cbm::algo::rich::UnpackMS::MSContext::cbmTimeMS, cbm::algo::rich::UnpackMS::MSContext::cbmTimePacket, cbm::algo::rich::TdcTimeData::fCoarse, cbm::algo::rich::TdcTimeData::fFine, cbm::algo::rich::UnpackMS::MSContext::mbsCorr, cbm::algo::rich::MicrosliceReader::NextWord(), cbm::algo::rich::UnpackMS::MSContext::prevLastCh0ReTime, ProcessEpoch(), and ProcessTimeData().
Referenced by operator()().
|
inline |
Set the parameter container.
params | Pointer to parameter container |
Definition at line 140 of file rich/UnpackMS.h.
References fParams.
|
private |
Definition at line 397 of file rich/UnpackMS.cxx.
References cbm::algo::rich::UnpackMS::MSContext::digis, fbDoToTCorr, cbm::algo::rich::UnpackPar::fElinkParams, fParams, GetPixelUID(), and cbm::algo::rich::UnpackMS::MSContext::refTime.
Referenced by ProcessTimeDataWord().
|
private |
Definition at line 199 of file rich/UnpackMS.h.
Referenced by WriteOutputDigi().
|
private |
Definition at line 197 of file rich/UnpackMS.h.
Referenced by CheckMaskedDiRICH().
|
private |
Parameter container.
Definition at line 195 of file rich/UnpackMS.h.
Referenced by ProcessSubSubEvent(), SetParams(), and WriteOutputDigi().
|
private |
Definition at line 209 of file rich/UnpackMS.h.
Referenced by ProcessTimeDataWord().
|
private |
Definition at line 208 of file rich/UnpackMS.h.
Referenced by ProcessTimeDataWord().