|
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 137 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 | ) |
|
overridedefault |
Destructor.
|
private |
Definition at line 393 of file rich/UnpackMS.cxx.
Referenced by ProcessTimeDataWord(), and ProcessTrbPacket().
|
private |
Definition at line 411 of file rich/UnpackMS.cxx.
References fMaskedDiRICHes.
Referenced by ProcessSubSubEvent().
|
private |
Definition at line 440 of file rich/UnpackMS.cxx.
Referenced by WriteOutputDigi().
|
private |
Definition at line 419 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 139 of file rich/UnpackMS.cxx.
References cbm::algo::rich::MicrosliceReader::NextWord().
Referenced by ProcessHubBlock().
|
private |
Definition at line 457 of file rich/UnpackMS.cxx.
Referenced by ProcessSubSubEvent(), and ProcessTrbPacket().
|
private |
Definition at line 459 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 167 of file rich/UnpackMS.cxx.
References CheckMaskedDiRICH(), cbm::algo::rich::Debug, cbm::algo::rich::Epoch, cbm::algo::rich::Error, 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 447 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 351 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 464 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 160 of file rich/UnpackMS.h.
References fParams.
|
private |
Definition at line 398 of file rich/UnpackMS.cxx.
References cbm::algo::rich::UnpackMS::MSContext::digis, fbDoToTCorr, fParams, GetPixelUID(), and cbm::algo::rich::UnpackMS::MSContext::refTime.
Referenced by ProcessTimeDataWord().
|
private |
Definition at line 219 of file rich/UnpackMS.h.
Referenced by WriteOutputDigi().
|
private |
Definition at line 217 of file rich/UnpackMS.h.
Referenced by CheckMaskedDiRICH().
|
private |
Parameter container.
Definition at line 215 of file rich/UnpackMS.h.
Referenced by ProcessSubSubEvent(), SetParams(), UnpackMS(), and WriteOutputDigi().
|
private |
Definition at line 229 of file rich/UnpackMS.h.
Referenced by ProcessTimeDataWord().
|
private |
Definition at line 228 of file rich/UnpackMS.h.
Referenced by ProcessTimeDataWord().