CbmRoot
Loading...
Searching...
No Matches
cbm::algo::bmon::UnpackMS Class Reference

#include <UnpackMS.h>

Inheritance diagram for cbm::algo::bmon::UnpackMS:
[legend]
Collaboration diagram for cbm::algo::bmon::UnpackMS:
[legend]

Classes

struct  TimeSpec
 

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 ProcessHitMessage (const critof001::Message &message, const TimeSpec &time, std::vector< CbmBmonDigi > &digiVec, UnpackMonitorData &monitor) const
 Process a hit message.
 
void ProcessEpochMessage (const critof001::Message &message, TimeSpec &time) const
 Process an epoch message (TS_MSB)
 

Private Attributes

UnpackPar fParams = {}
 Parameter container.
 

Detailed Description

Definition at line 91 of file bmon/UnpackMS.h.

Member Typedef Documentation

◆ Aux_t

Definition at line 23 of file UnpackMSBase.h.

◆ Digi_t

Definition at line 21 of file UnpackMSBase.h.

◆ Monitor_t

Definition at line 22 of file UnpackMSBase.h.

◆ Result_t

Definition at line 25 of file UnpackMSBase.h.

Constructor & Destructor Documentation

◆ UnpackMS()

cbm::algo::bmon::UnpackMS::UnpackMS ( const UnpackPar & pars)

Construct from parameters.

Definition at line 21 of file bmon/UnpackMS.cxx.

◆ ~UnpackMS()

cbm::algo::bmon::UnpackMS::~UnpackMS ( )
overridedefault

Destructor.

Member Function Documentation

◆ operator()()

UnpackMS::Result_t cbm::algo::bmon::UnpackMS::operator() ( const uint8_t * msContent,
const fles::MicrosliceDescriptor & msDescr,
const uint64_t tTimeslice ) const
overridevirtual

Algorithm execution.

Parameters
msContentMicroslice payload
msDescrMicroslice descriptor
tTimesliceUnix start time of timeslice [ns]
Returns
STS digi data

FIXME: Should be checked in/forwarded to <some> monitor <task?>, here we just jump it

Implements cbm::algo::UnpackMSBase< CbmBmonDigi, UnpackMonitorData, UnpackAuxData >.

Definition at line 25 of file bmon/UnpackMS.cxx.

References cbm::algo::bmon::UnpackMS::TimeSpec::currentTsTime, critof001::kuChipIdMergedEpoch, critof001::kuEpochInNs, critof001::kulEpochCycleEp, L_, critof001::MSG_EPOCH, critof001::MSG_HIT, critof001::MSG_SLOWC, critof001::MSG_SYST, ProcessEpochMessage(), and ProcessHitMessage().

◆ ProcessEpochMessage()

void cbm::algo::bmon::UnpackMS::ProcessEpochMessage ( const critof001::Message & message,
TimeSpec & time ) const
inlineprivate

Process an epoch message (TS_MSB)

Parameters
messageSMX message (32-bit word)

Definition at line 160 of file bmon/UnpackMS.cxx.

References cbm::algo::bmon::UnpackMS::TimeSpec::currentEpochInTs, cbm::algo::bmon::UnpackMS::TimeSpec::currentTsTime, critof001::Message::getGdpbEpEpochNb(), and critof001::kulEpochCycleEp.

Referenced by operator()().

◆ ProcessHitMessage()

void cbm::algo::bmon::UnpackMS::ProcessHitMessage ( const critof001::Message & message,
const TimeSpec & time,
std::vector< CbmBmonDigi > & digiVec,
UnpackMonitorData & monitor ) const
inlineprivate

◆ SetParams()

void cbm::algo::bmon::UnpackMS::SetParams ( std::unique_ptr< UnpackPar > params)
inline

Set the parameter container.

Parameters
paramsPointer to parameter container

Definition at line 113 of file bmon/UnpackMS.h.

References fParams.

Member Data Documentation

◆ fParams

UnpackPar cbm::algo::bmon::UnpackMS::fParams = {}
private

Parameter container.

Definition at line 137 of file bmon/UnpackMS.h.

Referenced by ProcessHitMessage(), and SetParams().


The documentation for this class was generated from the following files: