CbmRoot
Loading...
Searching...
No Matches
CbmRichUnpackAlgo2022 Class Reference

#include <CbmRichUnpackAlgo2022.h>

Inheritance diagram for CbmRichUnpackAlgo2022:
[legend]
Collaboration diagram for CbmRichUnpackAlgo2022:
[legend]

Public Member Functions

 CbmRichUnpackAlgo2022 ()
 Create the Cbm Trd Unpack AlgoBase object.
 
virtual ~CbmRichUnpackAlgo2022 ()
 Destroy the Cbm Trd Unpack Task object.
 
 CbmRichUnpackAlgo2022 (const CbmRichUnpackAlgo2022 &)=delete
 Copy constructor - not implemented.
 
CbmRichUnpackAlgo2022operator= (const CbmRichUnpackAlgo2022 &)=delete
 Assignment operator - not implemented.
 
virtual std::vector< std::pair< std::string, std::shared_ptr< FairParGenericSet > > > * GetParContainerRequest (std::string geoTag, std::uint32_t runId)
 Get the requested parameter containers. To be defined in the derived classes! Return the required parameter containers together with the paths to the ascii files to.
 
void SetMonitor (std::shared_ptr< CbmRichUnpackMonitor > monitor)
 Set a predefined monitor.
 
void SetMaskedDiRICHes (std::vector< Int_t > *maskedDiRICHes)
 Set Addresses of DiRICH boards to be masked.
 
void DoTotOffsetCorrection (Bool_t activate=true)
 (De-) Activate Tot offset correction of digis
 

Protected Member Functions

void processCBMtime (CbmRichUnpackAlgoMicrosliceReader &reader)
 
void processTrbPacket (CbmRichUnpackAlgoMicrosliceReader &reader)
 
void processHubBlock (CbmRichUnpackAlgoMicrosliceReader &reader)
 
void processCtsSubSubEvent (CbmRichUnpackAlgoMicrosliceReader &reader, uint32_t subSubEventSize, uint32_t subSubEventId)
 
void processSubSubEvent (CbmRichUnpackAlgoMicrosliceReader &reader, int nofTimeWords, uint32_t subSubEventId)
 
void processTimeDataWord (CbmRichUnpackAlgoMicrosliceReader &reader, int iTdc, uint32_t epoch, uint32_t tdcWord, uint32_t subSubEventId, std::vector< double > &raisingTime)
 
void writeOutputDigi (Int_t fpgaID, Int_t channel, Double_t time, Double_t tot)
 
bool unpack (const fles::Timeslice *ts, std::uint16_t icomp, UInt_t imslice)
 Unpack a given microslice. To be implemented in the derived unpacker algos.
 
double calculateTime (uint32_t epoch, uint32_t coarse, uint32_t fine)
 
void finish ()
 Finish function for this algorithm base clase.
 
virtual void finishDerived ()
 Function that allows special calls during Finish in the derived algos.
 
std::string getLogHeader (CbmRichUnpackAlgoMicrosliceReader &reader)
 
Int_t getPixelUID (Int_t fpgaID, Int_t ch) const
 
Bool_t init ()
 Intialisation at begin of run. Special inits of the derived algos.
 
Bool_t initParSet (FairParGenericSet *parset)
 Handles the distribution of the hidden derived classes to their explicit functions.
 
Bool_t initParSet (CbmMcbm2018RichPar *parset)
 Handles the distribution of the hidden derived classes to their explicit functions.
 
bool isLog ()
 
bool setDerivedTsParameters (size_t)
 Set the Derived Ts Parameters.
 
bool checkMaskedDiRICH (Int_t subSubEventId)
 Unpack a given microslice. To be implemented in the derived unpacker algos.
 

Protected Attributes

double fMbsPrevTimeCh0 = 0.
 Parameters for the unpacking.
 
double fMbsPrevTimeCh1 = 0.
 
uint64_t fCbmTimeMS
 
uint64_t fCbmTimePacket
 
double fPrevLastCh0ReTime [13]
 
int fCurrentSubSubEvent = 0
 
std::shared_ptr< CbmRichUnpackMonitorfMonitor = nullptr
 Potential (online) monitor for the unpacking process.
 
CbmMcbm2018RichPar fUnpackPar
 Parameters for the unpacking.
 
std::vector< Int_t > * fMaskedDiRICHes = nullptr
 
size_t fMsRefTime = 0
 
double fToTMin = -20.
 
double fToTMax = 100.
 
Bool_t fbDoToTCorr = true
 

Detailed Description

Definition at line 39 of file CbmRichUnpackAlgo2022.h.

Constructor & Destructor Documentation

◆ CbmRichUnpackAlgo2022() [1/2]

CbmRichUnpackAlgo2022::CbmRichUnpackAlgo2022 ( )

Create the Cbm Trd Unpack AlgoBase object.

Definition at line 17 of file CbmRichUnpackAlgo2022.cxx.

◆ ~CbmRichUnpackAlgo2022()

CbmRichUnpackAlgo2022::~CbmRichUnpackAlgo2022 ( )
virtual

Destroy the Cbm Trd Unpack Task object.

Definition at line 19 of file CbmRichUnpackAlgo2022.cxx.

◆ CbmRichUnpackAlgo2022() [2/2]

CbmRichUnpackAlgo2022::CbmRichUnpackAlgo2022 ( const CbmRichUnpackAlgo2022 & )
delete

Copy constructor - not implemented.

Member Function Documentation

◆ calculateTime()

double CbmRichUnpackAlgoBase::calculateTime ( uint32_t epoch,
uint32_t coarse,
uint32_t fine )
protectedinherited

◆ checkMaskedDiRICH()

bool CbmRichUnpackAlgoBase::checkMaskedDiRICH ( Int_t subSubEventId)
protectedinherited

Unpack a given microslice. To be implemented in the derived unpacker algos.

Parameters
tstimeslice pointer
icompindex to the component to be unpacked
imsliceindex of the microslice to be unpacked
Returns
true
false
Remarks
The content of the µslice can only be accessed via the timeslice. Hence, we need to pass the pointer to the full timeslice

Definition at line 91 of file CbmRichUnpackAlgoBase.cxx.

References CbmRichUnpackAlgoBase::fMaskedDiRICHes.

Referenced by processSubSubEvent(), and CbmRichUnpackAlgo::processSubSubEvent().

◆ DoTotOffsetCorrection()

void CbmRichUnpackAlgoBase::DoTotOffsetCorrection ( Bool_t activate = true)
inlineinherited

(De-) Activate Tot offset correction of digis

Parameters
activatebool to activate the Tot offset correction

Definition at line 233 of file CbmRichUnpackAlgoBase.h.

References CbmRichUnpackAlgoBase::fbDoToTCorr.

◆ finish()

void CbmRichUnpackAlgoBase::finish ( )
inlineprotectedinherited

Finish function for this algorithm base clase.

Definition at line 239 of file CbmRichUnpackAlgoBase.h.

References CbmRichUnpackAlgoBase::finishDerived(), and CbmRichUnpackAlgoBase::fMonitor.

◆ finishDerived()

virtual void CbmRichUnpackAlgoBase::finishDerived ( )
inlineprotectedvirtualinherited

Function that allows special calls during Finish in the derived algos.

Definition at line 254 of file CbmRichUnpackAlgoBase.h.

Referenced by CbmRichUnpackAlgoBase::finish().

◆ getLogHeader()

◆ GetParContainerRequest()

std::vector< std::pair< std::string, std::shared_ptr< FairParGenericSet > > > * CbmRichUnpackAlgoBase::GetParContainerRequest ( std::string geoTag,
std::uint32_t runId )
virtualinherited

Get the requested parameter containers. To be defined in the derived classes! Return the required parameter containers together with the paths to the ascii files to.

Parameters
[in]std::stringgeoTag as used in CbmSetup
[in]std::uint32_trunId for runwise defined parameters
Returns
fParContVec

Definition at line 23 of file CbmRichUnpackAlgoBase.cxx.

◆ getPixelUID()

Int_t CbmRichUnpackAlgoBase::getPixelUID ( Int_t fpgaID,
Int_t ch ) const
inlineprotectedinherited

Definition at line 258 of file CbmRichUnpackAlgoBase.h.

Referenced by writeOutputDigi(), and CbmRichUnpackAlgo::writeOutputDigi().

◆ init()

Bool_t CbmRichUnpackAlgoBase::init ( )
protectedinherited

Intialisation at begin of run. Special inits of the derived algos.

Return values
Bool_tinitOk

Definition at line 55 of file CbmRichUnpackAlgoBase.cxx.

◆ initParSet() [1/2]

Bool_t CbmRichUnpackAlgoBase::initParSet ( CbmMcbm2018RichPar * parset)
protectedinherited

Handles the distribution of the hidden derived classes to their explicit functions.

Parameters
parset
Returns
Bool_t initOk

Definition at line 70 of file CbmRichUnpackAlgoBase.cxx.

References CbmRichUnpackAlgoBase::fMonitor, CbmRichUnpackAlgoBase::fUnpackPar, and CbmMcbm2018RichPar::Print().

◆ initParSet() [2/2]

Bool_t CbmRichUnpackAlgoBase::initParSet ( FairParGenericSet * parset)
protectedinherited

Handles the distribution of the hidden derived classes to their explicit functions.

Parameters
parset
Returns
Bool_t initOk

Definition at line 58 of file CbmRichUnpackAlgoBase.cxx.

References CbmRichUnpackAlgoBase::initParSet().

Referenced by CbmRichUnpackAlgoBase::initParSet().

◆ isLog()

◆ operator=()

CbmRichUnpackAlgo2022 & CbmRichUnpackAlgo2022::operator= ( const CbmRichUnpackAlgo2022 & )
delete

Assignment operator - not implemented.

◆ processCBMtime()

void CbmRichUnpackAlgo2022::processCBMtime ( CbmRichUnpackAlgoMicrosliceReader & reader)
protected

◆ processCtsSubSubEvent()

void CbmRichUnpackAlgo2022::processCtsSubSubEvent ( CbmRichUnpackAlgoMicrosliceReader & reader,
uint32_t subSubEventSize,
uint32_t subSubEventId )
protected

◆ processHubBlock()

◆ processSubSubEvent()

◆ processTimeDataWord()

◆ processTrbPacket()

◆ setDerivedTsParameters()

bool CbmRichUnpackAlgoBase::setDerivedTsParameters ( size_t )
inlineprotectedinherited

Set the Derived Ts Parameters.

In this function parameters required by the explicit algo connected to the timeslice can be set.

Parameters
itimeslice
Returns
true
false

Definition at line 299 of file CbmRichUnpackAlgoBase.h.

◆ SetMaskedDiRICHes()

void CbmRichUnpackAlgoBase::SetMaskedDiRICHes ( std::vector< Int_t > * maskedDiRICHes)
inlineinherited

Set Addresses of DiRICH boards to be masked.

Parameters
maskedDiRICHesvector of Addresses

Definition at line 230 of file CbmRichUnpackAlgoBase.h.

References CbmRichUnpackAlgoBase::fMaskedDiRICHes.

◆ SetMonitor()

void CbmRichUnpackAlgoBase::SetMonitor ( std::shared_ptr< CbmRichUnpackMonitor > monitor)
inlineinherited

Set a predefined monitor.

Parameters
monitorpredefined unpacking monitor

Definition at line 227 of file CbmRichUnpackAlgoBase.h.

References CbmRichUnpackAlgoBase::fMonitor.

◆ unpack()

bool CbmRichUnpackAlgo2022::unpack ( const fles::Timeslice * ts,
std::uint16_t icomp,
UInt_t imslice )
protected

Unpack a given microslice. To be implemented in the derived unpacker algos.

Parameters
tstimeslice pointer
icompindex to the component to be unpacked
imsliceindex of the microslice to be unpacked
Returns
true
false
Remarks
The content of the µslice can only be accessed via the timeslice. Hence, we need to pass the pointer to the full timeslice

Definition at line 22 of file CbmRichUnpackAlgo2022.cxx.

References fCbmTimeMS, CbmRichUnpackAlgoBase::fMonitor, CbmRichUnpackAlgoBase::fMsRefTime, CbmRichUnpackAlgoBase::getLogHeader(), CbmRichUnpackAlgoMicrosliceReader::GetOffset(), CbmRichUnpackAlgoMicrosliceReader::GetSize(), CbmRichUnpackAlgoMicrosliceReader::GetWordAsHexString(), CbmRichUnpackAlgoBase::isLog(), CbmRichUnpackAlgoMicrosliceReader::IsNextPadding(), CbmRichUnpackAlgoMicrosliceReader::NextWord(), processTrbPacket(), and CbmRichUnpackAlgoMicrosliceReader::SetData().

◆ writeOutputDigi()

void CbmRichUnpackAlgo2022::writeOutputDigi ( Int_t fpgaID,
Int_t channel,
Double_t time,
Double_t tot )
protected

Member Data Documentation

◆ fbDoToTCorr

Bool_t CbmRichUnpackAlgoBase::fbDoToTCorr = true
protectedinherited

◆ fCbmTimeMS

uint64_t CbmRichUnpackAlgo2022::fCbmTimeMS
protected

Definition at line 96 of file CbmRichUnpackAlgo2022.h.

Referenced by processCBMtime(), processTimeDataWord(), and unpack().

◆ fCbmTimePacket

uint64_t CbmRichUnpackAlgo2022::fCbmTimePacket
protected

Definition at line 97 of file CbmRichUnpackAlgo2022.h.

Referenced by processCBMtime(), and processTimeDataWord().

◆ fCurrentSubSubEvent

int CbmRichUnpackAlgo2022::fCurrentSubSubEvent = 0
protected

Definition at line 100 of file CbmRichUnpackAlgo2022.h.

Referenced by processHubBlock(), and processTimeDataWord().

◆ fMaskedDiRICHes

std::vector<Int_t>* CbmRichUnpackAlgoBase::fMaskedDiRICHes = nullptr
protectedinherited

◆ fMbsPrevTimeCh0

double CbmRichUnpackAlgo2022::fMbsPrevTimeCh0 = 0.
protected

Parameters for the unpacking.

Definition at line 93 of file CbmRichUnpackAlgo2022.h.

Referenced by processTimeDataWord(), and processTrbPacket().

◆ fMbsPrevTimeCh1

double CbmRichUnpackAlgo2022::fMbsPrevTimeCh1 = 0.
protected

Definition at line 94 of file CbmRichUnpackAlgo2022.h.

Referenced by processTimeDataWord(), and processTrbPacket().

◆ fMonitor

std::shared_ptr<CbmRichUnpackMonitor> CbmRichUnpackAlgoBase::fMonitor = nullptr
protectedinherited

Potential (online) monitor for the unpacking process.

Definition at line 251 of file CbmRichUnpackAlgoBase.h.

Referenced by CbmRichUnpackAlgoBase::finish(), CbmRichUnpackAlgoBase::initParSet(), CbmRichUnpackAlgoBase::SetMonitor(), and unpack().

◆ fMsRefTime

size_t CbmRichUnpackAlgoBase::fMsRefTime = 0
protectedinherited

◆ fPrevLastCh0ReTime

double CbmRichUnpackAlgo2022::fPrevLastCh0ReTime[13]
protected

Definition at line 99 of file CbmRichUnpackAlgo2022.h.

Referenced by processTimeDataWord(), and processTrbPacket().

◆ fToTMax

double CbmRichUnpackAlgoBase::fToTMax = 100.
protectedinherited

◆ fToTMin

double CbmRichUnpackAlgoBase::fToTMin = -20.
protectedinherited

◆ fUnpackPar

CbmMcbm2018RichPar CbmRichUnpackAlgoBase::fUnpackPar
protectedinherited

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