CbmRoot
|
#include <CbmDevUnpack.h>
Public Member Functions | |
CbmDevUnpack () | |
virtual | ~CbmDevUnpack () |
Private Member Functions | |
virtual void | InitTask () |
Read command line parameters for MQ device. | |
bool | ConditionalRun () |
Called by run loop, does init steps on first TS. | |
bool | InitAlgos () |
Initialize runtime parameters for UnpackSts algos. | |
CbmDigiTimeslice | DoUnpack (const fles::Timeslice &ts) |
Unpack a single timeslice. | |
bool | SendData (const CbmDigiTimeslice ×lice, const TimesliceMetaData &TsMetaData) |
Serialize unpacked digi timeslice and send to output channel. | |
Private Attributes | |
std::map< uint16_t, cbm::algo::UnpackSts > | fAlgoSts = {} |
cbm::algo::StsReadoutConfigLegacy | fStsConfig {} |
std::map< uint16_t, cbm::algo::UnpackMuch > | fAlgoMuch = {} |
cbm::algo::MuchReadoutConfig | fMuchConfig {} |
std::string | fsChannelNameDataInput = "ts-request" |
message queues | |
std::string | fsChannelNameDataOutput = "unpts_0" |
std::string | fsChannelNameCommands = "commands" |
size_t | fNumMessages = 0 |
Statistics & first TS rejection. | |
size_t | fNumTs = 0 |
Definition at line 33 of file CbmDevUnpack.h.
CbmDevUnpack::CbmDevUnpack | ( | ) |
Definition at line 43 of file CbmDevUnpack.cxx.
|
inlinevirtual |
Definition at line 36 of file CbmDevUnpack.h.
|
private |
Called by run loop, does init steps on first TS.
First request a new TS (full one)
Message received, do Algo related Initialization steps if needed
Create an empty TS and fill it with the incoming message
Extract the TS parameters from header (by definition stable over time)
Process the timeslice
Send digi vectors to ouput
Definition at line 115 of file CbmDevUnpack.cxx.
References DoUnpack(), fNumMessages, fNumTs, fsChannelNameDataInput, InitAlgos(), and SendData().
|
private |
Unpack a single timeslice.
ts | Input FLES timeslice |
Definition at line 212 of file CbmDevUnpack.cxx.
References fAlgoMuch, fAlgoSts, CbmDigiTimeslice::fData, CbmMuchDigiData::fDigis, CbmStsDigiData::fDigis, CbmDigiData::fMuch, fNumTs, and CbmDigiData::fSts.
Referenced by ConditionalRun().
|
private |
Initialize runtime parameters for UnpackSts algos.
Definition at line 58 of file CbmDevUnpack.cxx.
References fAlgoMuch, fAlgoSts, fMuchConfig, and fStsConfig.
Referenced by ConditionalRun().
|
privatevirtual |
Read command line parameters for MQ device.
Read options from executable
Definition at line 45 of file CbmDevUnpack.cxx.
References fsChannelNameDataInput, and fsChannelNameDataOutput.
|
private |
Serialize unpacked digi timeslice and send to output channel.
Prepare serialized version of Digi Timeslice
Prepare serialized versions of the TS Meta FIXME: only for TS duration and overlap, should be sent to parameter service instead as stable values in run Index and start time are already included in the TsHeader object!
Definition at line 180 of file CbmDevUnpack.cxx.
References fsChannelNameDataOutput.
Referenced by ConditionalRun().
|
private |
Definition at line 42 of file CbmDevUnpack.h.
Referenced by DoUnpack(), and InitAlgos().
|
private |
Definition at line 39 of file CbmDevUnpack.h.
Referenced by DoUnpack(), and InitAlgos().
|
private |
Definition at line 43 of file CbmDevUnpack.h.
Referenced by InitAlgos().
|
private |
Statistics & first TS rejection.
Definition at line 51 of file CbmDevUnpack.h.
Referenced by ConditionalRun().
|
private |
Definition at line 52 of file CbmDevUnpack.h.
Referenced by ConditionalRun(), and DoUnpack().
|
private |
Definition at line 48 of file CbmDevUnpack.h.
|
private |
message queues
Definition at line 46 of file CbmDevUnpack.h.
Referenced by ConditionalRun(), and InitTask().
|
private |
Definition at line 47 of file CbmDevUnpack.h.
Referenced by InitTask(), and SendData().
|
private |
Definition at line 40 of file CbmDevUnpack.h.
Referenced by InitAlgos().