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

#include <UnpackMS.h>

Inheritance diagram for cbm::algo::rich::UnpackMS:
[legend]
Collaboration diagram for cbm::algo::rich::UnpackMS:
[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
 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 ProcessTrbPacket (MicrosliceReader &reader, MSContext &ctx) const
 
void ProcessHubBlock (MicrosliceReader &reader, MSContext &ctx) const
 
int ProcessCtsHeader (MicrosliceReader &reader, uint32_t subSubEventSize, uint32_t subSubEventId) const
 
void ProcessSubSubEvent (MicrosliceReader &reader, int nofTimeWords, uint32_t subSubEventId, MSContext &ctx) const
 
bool ProcessTimeDataWord (uint32_t epoch, uint32_t tdcWord, uint32_t subSubEventId, std::vector< double > &raisingTime, MSContext &ctx) const
 
TdcWordType GetTdcWordType (uint32_t tdcWord) const
 
TdcTimeData ProcessTimeData (uint32_t tdcWord) const
 
uint32_t ProcessEpoch (uint32_t tdcWord) const
 
uint16_t ProcessHeader (uint32_t tdcWord) const
 
uint16_t ProcessTrailer (uint32_t tdcWord) const
 
void WriteOutputDigi (int32_t fpgaID, int32_t channel, double time, double tot, MSContext &ctx) const
 
double CalculateTime (uint32_t epoch, uint32_t coarse, uint32_t fine) const
 
int32_t GetPixelUID (int32_t fpgaID, int32_t ch) const
 
bool CheckMaskedDiRICH (int32_t subSubEventId) const
 

Private Attributes

UnpackPar fParams = {}
 Parameter container.
 
std::vector< int32_t > fMaskedDiRICHes
 
bool fbDoToTCorr = true
 
double fToTMin = -20.
 
double fToTMax = 100.
 

Detailed Description

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

Construct from parameters.

Definition at line 13 of file rich/UnpackMS.cxx.

◆ ~UnpackMS()

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

Destructor.

Member Function Documentation

◆ CalculateTime()

double cbm::algo::rich::UnpackMS::CalculateTime ( uint32_t epoch,
uint32_t coarse,
uint32_t fine ) const
private

Definition at line 392 of file rich/UnpackMS.cxx.

Referenced by ProcessTimeDataWord(), and ProcessTrbPacket().

◆ CheckMaskedDiRICH()

bool cbm::algo::rich::UnpackMS::CheckMaskedDiRICH ( int32_t subSubEventId) const
private

Definition at line 410 of file rich/UnpackMS.cxx.

References fMaskedDiRICHes.

Referenced by ProcessSubSubEvent().

◆ GetPixelUID()

int32_t cbm::algo::rich::UnpackMS::GetPixelUID ( int32_t fpgaID,
int32_t ch ) const
private

Definition at line 439 of file rich/UnpackMS.cxx.

Referenced by WriteOutputDigi().

◆ GetTdcWordType()

TdcWordType cbm::algo::rich::UnpackMS::GetTdcWordType ( uint32_t tdcWord) const
private

◆ operator()()

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

◆ ProcessCtsHeader()

int cbm::algo::rich::UnpackMS::ProcessCtsHeader ( rich::MicrosliceReader & reader,
uint32_t subSubEventSize,
uint32_t subSubEventId ) const
private

Definition at line 138 of file rich/UnpackMS.cxx.

References cbm::algo::rich::MicrosliceReader::NextWord().

Referenced by ProcessHubBlock().

◆ ProcessEpoch()

uint32_t cbm::algo::rich::UnpackMS::ProcessEpoch ( uint32_t tdcWord) const
private

Definition at line 456 of file rich/UnpackMS.cxx.

Referenced by ProcessSubSubEvent(), and ProcessTrbPacket().

◆ ProcessHeader()

uint16_t cbm::algo::rich::UnpackMS::ProcessHeader ( uint32_t tdcWord) const
private

Definition at line 458 of file rich/UnpackMS.cxx.

◆ ProcessHubBlock()

◆ ProcessSubSubEvent()

◆ ProcessTimeData()

TdcTimeData cbm::algo::rich::UnpackMS::ProcessTimeData ( uint32_t tdcWord) const
private

◆ ProcessTimeDataWord()

◆ ProcessTrailer()

uint16_t cbm::algo::rich::UnpackMS::ProcessTrailer ( uint32_t tdcWord) const
private

Definition at line 463 of file rich/UnpackMS.cxx.

◆ ProcessTrbPacket()

◆ SetParams()

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

Set the parameter container.

Parameters
paramsPointer to parameter container

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

References fParams.

◆ WriteOutputDigi()

void cbm::algo::rich::UnpackMS::WriteOutputDigi ( int32_t fpgaID,
int32_t channel,
double time,
double tot,
MSContext & ctx ) const
private

Member Data Documentation

◆ fbDoToTCorr

bool cbm::algo::rich::UnpackMS::fbDoToTCorr = true
private

Definition at line 199 of file rich/UnpackMS.h.

Referenced by WriteOutputDigi().

◆ fMaskedDiRICHes

std::vector<int32_t> cbm::algo::rich::UnpackMS::fMaskedDiRICHes
private

Definition at line 197 of file rich/UnpackMS.h.

Referenced by CheckMaskedDiRICH().

◆ fParams

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

Parameter container.

Definition at line 195 of file rich/UnpackMS.h.

Referenced by ProcessSubSubEvent(), SetParams(), and WriteOutputDigi().

◆ fToTMax

double cbm::algo::rich::UnpackMS::fToTMax = 100.
private

Definition at line 209 of file rich/UnpackMS.h.

Referenced by ProcessTimeDataWord().

◆ fToTMin

double cbm::algo::rich::UnpackMS::fToTMin = -20.
private

Definition at line 208 of file rich/UnpackMS.h.

Referenced by ProcessTimeDataWord().


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