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

Unpack algorithm for MVD. More...

#include <UnpackMS.h>

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

Public Types

using Digi_t
 
using Monitor_t
 
using Aux_t
 
using Result_t
 

Public Member Functions

 UnpackMS (const UnpackPar &pars, const uint64_t &frameLengthNs)
 Construct with parameters.
 
 ~UnpackMS () override
 Destructor.
 
Result_t operator() (const uint8_t *msContent, const fles::MicrosliceDescriptor &msDescr, const uint64_t tTimeslice) const override
 Algorithm execution.
 
void dcd_pxl (const uint16_t &regionIn, const uint16_t &word, uint32_t &column, uint32_t &row) const
 

Private Member Functions

void ProcessData (const uint32_t &data, const uint64_t &time, std::vector< CbmMvdRawDigi > &digiVec, UnpackMonitorData &monitor, UnpackAuxData &aux, uint16_t &eq_idx) const
 Process a hit message.
 
void printMsContent (const uint8_t *msContent, size_t size) const
 

Private Attributes

UnpackPar fParams = {}
 Parameter container.
 
uint64_t fFrameLengthNs = 5000
 Frame length in ns, default value from mCBM 2025.
 
unsigned int frameNumber = 0
 
uint64_t frameTime = 0
 
unsigned int region = 0
 
unsigned int headersnow = 0
 

Static Private Attributes

static constexpr uint64_t fTimeStamp = 0
 

Detailed Description

Unpack algorithm for MVD.

Author
Pierre-Alain Loizeau p.-a..nosp@m.loiz.nosp@m.eau@g.nosp@m.si.d.nosp@m.e
Ajit Kumar
Since
7 March 2025

Definition at line 97 of file mvd/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::mvd::UnpackMS::UnpackMS ( const UnpackPar & pars,
const uint64_t & frameLengthNs )

Construct with parameters.

Definition at line 26 of file mvd/UnpackMS.cxx.

References fFrameLengthNs, and fParams.

◆ ~UnpackMS()

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

Destructor.

References size().

Member Function Documentation

◆ dcd_pxl()

void cbm::algo::mvd::UnpackMS::dcd_pxl ( const uint16_t & regionIn,
const uint16_t & word,
uint32_t & column,
uint32_t & row ) const

Definition at line 170 of file mvd/UnpackMS.cxx.

Referenced by ProcessData().

◆ operator()()

UnpackMS::Result_t cbm::algo::mvd::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

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

Definition at line 36 of file mvd/UnpackMS.cxx.

References ProcessData().

◆ printMsContent()

void cbm::algo::mvd::UnpackMS::printMsContent ( const uint8_t * msContent,
size_t size ) const
private

Definition at line 182 of file mvd/UnpackMS.cxx.

References size().

◆ ProcessData()

void cbm::algo::mvd::UnpackMS::ProcessData ( const uint32_t & data,
const uint64_t & time,
std::vector< CbmMvdRawDigi > & digiVec,
UnpackMonitorData & monitor,
UnpackAuxData & aux,
uint16_t & eq_idx ) const
private

Process a hit message.

Parameters
dataCRI-Mimosis word (32-bit word)
timeTS start time (64b)
digiVecVector to append the created digi to
monitorReference to monitor object
auxReference to AUX data object (e.g. error messages)
eq_idxEquipment ID (FLIM link ID)

Definition at line 65 of file mvd/UnpackMS.cxx.

References dcd_pxl(), fFrameLengthNs, cbm::algo::mvd::frame_nbr_l, cbm::algo::mvd::frame_nbr_m, frameTime, cbm::algo::mvd::frLen, CbmMvdAddress::GetAddress(), headersnow, and region.

Referenced by operator()().

Member Data Documentation

◆ fFrameLengthNs

uint64_t cbm::algo::mvd::UnpackMS::fFrameLengthNs = 5000
private

Frame length in ns, default value from mCBM 2025.

Length of a frame in ns

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

Referenced by ProcessData(), and UnpackMS().

◆ fParams

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

Parameter container.

Definition at line 134 of file mvd/UnpackMS.h.

Referenced by UnpackMS().

◆ frameNumber

unsigned int cbm::algo::mvd::UnpackMS::frameNumber = 0
mutableprivate

Definition at line 142 of file mvd/UnpackMS.h.

◆ frameTime

uint64_t cbm::algo::mvd::UnpackMS::frameTime = 0
mutableprivate

Definition at line 143 of file mvd/UnpackMS.h.

Referenced by ProcessData().

◆ fTimeStamp

uint64_t cbm::algo::mvd::UnpackMS::fTimeStamp = 0
staticconstexprprivate

Definition at line 140 of file mvd/UnpackMS.h.

◆ headersnow

unsigned int cbm::algo::mvd::UnpackMS::headersnow = 0
mutableprivate

Definition at line 145 of file mvd/UnpackMS.h.

Referenced by ProcessData().

◆ region

unsigned int cbm::algo::mvd::UnpackMS::region = 0
mutableprivate

Definition at line 144 of file mvd/UnpackMS.h.

Referenced by ProcessData().


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