CbmRoot
Loading...
Searching...
No Matches
cbm::algo::trd2d::UnpackMS< sys_ver > Class Template Reference

Unpack algorithm for TRD2D. More...

#include <UnpackMS.h>

Inheritance diagram for cbm::algo::trd2d::UnpackMS< sys_ver >:
[legend]
Collaboration diagram for cbm::algo::trd2d::UnpackMS< sys_ver >:
[legend]

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=default
 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.
 
UnpackMS< uint8_t(eMessageVersion::kMessLegacy)>::Result_t operator() (const uint8_t *msContent, const fles::MicrosliceDescriptor &msDescr, const uint64_t tTimeslice) const
 

Private Member Functions

bool pushDigis (std::vector< FaspMessage > messages, const uint64_t time, MsContext &ctx) const
 
std::vector< CbmTrdDigiFinalizeComponent (MsContext &ctx) const
 Finalize component (e.g. copy from temp buffers)

 

Private Attributes

UnpackPar fParams = {}
 Parameter container.
 

Detailed Description

template<std::uint8_t sys_ver>
class cbm::algo::trd2d::UnpackMS< sys_ver >

Unpack algorithm for TRD2D.

Author
Dominik Smith d.smi.nosp@m.th@g.nosp@m.si.de, Alex Bercuci aberc.nosp@m.uci@.nosp@m.niham.nosp@m..nip.nosp@m.ne.ro
Since
31 January 2023

Definition at line 196 of file trd2d/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()

template<std::uint8_t sys_ver>
cbm::algo::trd2d::UnpackMS< sys_ver >::UnpackMS ( const UnpackPar & pars)
inline

Construct from parameters.

Definition at line 200 of file trd2d/UnpackMS.h.

◆ ~UnpackMS()

template<std::uint8_t sys_ver>
cbm::algo::trd2d::UnpackMS< sys_ver >::~UnpackMS ( )
overridedefault

Destructor.

Member Function Documentation

◆ FinalizeComponent()

template<uint8_t sys_ver>
std::vector< CbmTrdDigi > cbm::algo::trd2d::UnpackMS< sys_ver >::FinalizeComponent ( MsContext & ctx) const
private

◆ operator()() [1/2]

UnpackMS< uint8_t(eMessageVersion::kMessLegacy)>::Result_t cbm::algo::trd2d::UnpackMS< uint8_t(eMessageVersion::kMessLegacy)>::operator() ( const uint8_t * msContent,
const fles::MicrosliceDescriptor & msDescr,
const uint64_t tTimeslice ) const
virtual

Implementation of TRD2D unpacking for the 2021 - 2022 mCBM data taking The algorithm implements digi buffering due to a "feature" on the ADC read-out

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

Definition at line 173 of file trd2d/UnpackMS.cxx.

References FASP_EPOCH_LENGTH, cbm::algo::trd2d::UnpackMS< sys_ver >::MsContext::fMonitor, cbm::algo::trd2d::UnpackMonitorData::fNumErrEndBitSet, cbm::algo::trd2d::UnpackMonitorData::fNumSelfTriggeredData, cbm::algo::trd2d::kData, and L_.

◆ operator()() [2/2]

template<std::uint8_t sys_ver>
Result_t cbm::algo::trd2d::UnpackMS< sys_ver >::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
TRD digi data

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

◆ pushDigis()

template<uint8_t sys_ver>
bool cbm::algo::trd2d::UnpackMS< sys_ver >::pushDigis ( std::vector< FaspMessage > messages,
const uint64_t time,
MsContext & ctx ) const
private

◆ SetParams()

template<std::uint8_t sys_ver>
void cbm::algo::trd2d::UnpackMS< sys_ver >::SetParams ( std::unique_ptr< UnpackPar > params)
inline

Set the parameter container.

Parameters
paramsPointer to parameter container

Definition at line 217 of file trd2d/UnpackMS.h.

References cbm::algo::trd2d::UnpackMS< sys_ver >::fParams.

Member Data Documentation

◆ fParams

template<std::uint8_t sys_ver>
UnpackPar cbm::algo::trd2d::UnpackMS< sys_ver >::fParams = {}
private

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