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

Unpack algorithm for STS. More...

#include <UnpackMS.h>

Inheritance diagram for cbm::algo::tof::UnpackMS:
[legend]
Collaboration diagram for cbm::algo::tof::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)
 Default constructor.
 
 ~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, std::vector< CbmTofDigi > &digiVec, UnpackMonitorData &monitor, TimeSpec &time) const
 Process a hit message.
 
void ProcessEpochMessage (const critof001::Message &message, TimeSpec &time) const
 Process an epoch message.
 

Private Attributes

UnpackPar fParams = {}
 Parameter container.
 

Detailed Description

Unpack algorithm for STS.

Author
Pierre-Alain Loizeau p.-a..nosp@m.loiz.nosp@m.eau@g.nosp@m.si.d.nosp@m.e
Volker Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Since
25 November 2021

Definition at line 88 of file tof/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::tof::UnpackMS::UnpackMS ( const UnpackPar & pars)

Default constructor.

Definition at line 18 of file tof/UnpackMS.cxx.

◆ ~UnpackMS()

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

Destructor.

Member Function Documentation

◆ operator()()

UnpackMS::Result_t cbm::algo::tof::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< CbmTofDigi, UnpackMonitorData, UnpackAuxData >.

Definition at line 22 of file tof/UnpackMS.cxx.

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

◆ ProcessEpochMessage()

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

Process an epoch message.

Parameters
messageSMX message (32-bit word)

Definition at line 140 of file tof/UnpackMS.cxx.

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

Referenced by operator()().

◆ ProcessHitMessage()

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

◆ SetParams()

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

Set the parameter container.

Parameters
paramsPointer to parameter container

Definition at line 109 of file tof/UnpackMS.h.

References fParams.

Member Data Documentation

◆ fParams

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

Parameter container.

Definition at line 132 of file tof/UnpackMS.h.

Referenced by ProcessHitMessage(), and SetParams().


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