CbmRoot
|
#include <CbmRichUnpackAlgo.h>
Public Member Functions | |
CbmRichUnpackAlgo () | |
Create the Cbm Trd Unpack AlgoBase object. | |
virtual | ~CbmRichUnpackAlgo () |
Destroy the Cbm Trd Unpack Task object. | |
CbmRichUnpackAlgo (const CbmRichUnpackAlgo &)=delete | |
Copy constructor - not implemented. | |
CbmRichUnpackAlgo & | operator= (const CbmRichUnpackAlgo &)=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 | processTrbPacket (CbmRichUnpackAlgoMicrosliceReader &reader) |
void | processMbs (CbmRichUnpackAlgoMicrosliceReader &reader, bool isPrev) |
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. |
double | fMbsPrevTimeCh1 = 0. |
std::map< uint32_t, double > | fLastCh0ReTime |
std::map< uint32_t, double > | fPrevLastCh0ReTime |
std::shared_ptr< CbmRichUnpackMonitor > | fMonitor = 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 |
Definition at line 40 of file CbmRichUnpackAlgo.h.
CbmRichUnpackAlgo::CbmRichUnpackAlgo | ( | ) |
Create the Cbm Trd Unpack AlgoBase object.
Definition at line 17 of file CbmRichUnpackAlgo.cxx.
|
virtual |
Destroy the Cbm Trd Unpack Task object.
Definition at line 19 of file CbmRichUnpackAlgo.cxx.
|
delete |
Copy constructor - not implemented.
|
protectedinherited |
Definition at line 40 of file CbmRichUnpackAlgoBase.cxx.
Referenced by processMbs(), CbmRichUnpackAlgo2022::processTimeDataWord(), processTimeDataWord(), and CbmRichUnpackAlgo2022::processTrbPacket().
|
protectedinherited |
Unpack a given microslice. To be implemented in the derived unpacker algos.
ts | timeslice pointer |
icomp | index to the component to be unpacked |
imslice | index of the microslice to be unpacked |
Definition at line 91 of file CbmRichUnpackAlgoBase.cxx.
References CbmRichUnpackAlgoBase::fMaskedDiRICHes.
Referenced by CbmRichUnpackAlgo2022::processSubSubEvent(), and processSubSubEvent().
|
inlineinherited |
(De-) Activate Tot offset correction of digis
activate | bool to activate the Tot offset correction |
Definition at line 233 of file CbmRichUnpackAlgoBase.h.
References CbmRichUnpackAlgoBase::fbDoToTCorr.
|
inlineprotectedinherited |
Finish function for this algorithm base clase.
Definition at line 239 of file CbmRichUnpackAlgoBase.h.
References CbmRichUnpackAlgoBase::finishDerived(), and CbmRichUnpackAlgoBase::fMonitor.
|
inlineprotectedvirtualinherited |
Function that allows special calls during Finish in the derived algos.
Definition at line 254 of file CbmRichUnpackAlgoBase.h.
Referenced by CbmRichUnpackAlgoBase::finish().
|
protectedinherited |
Definition at line 46 of file CbmRichUnpackAlgoBase.cxx.
References CbmRichUnpackAlgoMicrosliceReader::GetCurWord(), CbmRichUnpackAlgoMicrosliceReader::GetSize(), CbmRichUnpackAlgoMicrosliceReader::GetWordAsHexString(), and CbmRichUnpackAlgoMicrosliceReader::GetWordCounter().
Referenced by CbmRichUnpackAlgo2022::processCtsSubSubEvent(), processCtsSubSubEvent(), CbmRichUnpackAlgo2022::processHubBlock(), processHubBlock(), processMbs(), CbmRichUnpackAlgo2022::processSubSubEvent(), processSubSubEvent(), CbmRichUnpackAlgo2022::processTimeDataWord(), processTimeDataWord(), CbmRichUnpackAlgo2022::processTrbPacket(), processTrbPacket(), CbmRichUnpackAlgo2022::unpack(), and unpack().
|
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.
[in] | std::string | geoTag as used in CbmSetup |
[in] | std::uint32_t | runId for runwise defined parameters |
Definition at line 23 of file CbmRichUnpackAlgoBase.cxx.
|
inlineprotectedinherited |
Definition at line 258 of file CbmRichUnpackAlgoBase.h.
Referenced by CbmRichUnpackAlgo2022::writeOutputDigi(), and writeOutputDigi().
|
protectedinherited |
Intialisation at begin of run. Special inits of the derived algos.
Bool_t | initOk |
Definition at line 55 of file CbmRichUnpackAlgoBase.cxx.
|
protectedinherited |
Handles the distribution of the hidden derived classes to their explicit functions.
parset |
Definition at line 70 of file CbmRichUnpackAlgoBase.cxx.
References CbmRichUnpackAlgoBase::fMonitor, CbmRichUnpackAlgoBase::fUnpackPar, and CbmMcbm2018RichPar::Print().
|
protectedinherited |
Handles the distribution of the hidden derived classes to their explicit functions.
parset |
Definition at line 58 of file CbmRichUnpackAlgoBase.cxx.
References CbmRichUnpackAlgoBase::initParSet().
Referenced by CbmRichUnpackAlgoBase::initParSet().
|
protectedinherited |
Definition at line 84 of file CbmRichUnpackAlgoBase.cxx.
Referenced by CbmRichUnpackAlgo2022::processCtsSubSubEvent(), processCtsSubSubEvent(), CbmRichUnpackAlgo2022::processHubBlock(), processHubBlock(), processMbs(), CbmRichUnpackAlgo2022::processSubSubEvent(), processSubSubEvent(), CbmRichUnpackAlgo2022::processTimeDataWord(), processTimeDataWord(), CbmRichUnpackAlgo2022::processTrbPacket(), processTrbPacket(), CbmRichUnpackAlgo2022::unpack(), and unpack().
|
delete |
Assignment operator - not implemented.
|
protected |
Definition at line 123 of file CbmRichUnpackAlgo.cxx.
References CbmRichUnpackAlgoBase::getLogHeader(), CbmRichUnpackAlgoBase::isLog(), CbmRichUnpackAlgoMicrosliceReader::NextWord(), and processSubSubEvent().
Referenced by processHubBlock().
|
protected |
Definition at line 56 of file CbmRichUnpackAlgo.cxx.
References counter, CbmRichUnpackAlgoBase::getLogHeader(), CbmRichUnpackAlgoMicrosliceReader::IsLastSubSubEvent(), CbmRichUnpackAlgoBase::isLog(), CbmRichUnpackAlgoMicrosliceReader::NextWord(), processCtsSubSubEvent(), and processSubSubEvent().
Referenced by processTrbPacket().
|
protected |
Definition at line 247 of file CbmRichUnpackAlgo.cxx.
References CbmRichUnpackAlgoBase::calculateTime(), CbmRichUnpackAlgoTdcTimeData::fChannel, CbmRichUnpackAlgoTdcTimeData::fCoarse, CbmRichUnpackAlgoTdcTimeData::fFine, fMbsPrevTimeCh0, fMbsPrevTimeCh1, CbmRichUnpackAlgoBase::getLogHeader(), CbmRichUnpackAlgoBase::isLog(), CbmRichUnpackAlgoMicrosliceReader::NextWord(), CbmRichUnpackAlgoTdcWordReader::ProcessEpoch(), CbmRichUnpackAlgoTdcWordReader::ProcessTimeData(), and CbmRichUnpackAlgoTdcTimeData::ToString().
Referenced by processTrbPacket().
|
protected |
Definition at line 150 of file CbmRichUnpackAlgo.cxx.
References CbmRichUnpackAlgoBase::checkMaskedDiRICH(), Debug, Epoch, Error, CbmRichUnpackAlgoBase::getLogHeader(), CbmRichUnpackAlgoTdcWordReader::GetTdcWordType(), Header, CbmRichUnpackAlgoBase::isLog(), CbmRichUnpackAlgoMicrosliceReader::NextWord(), CbmRichUnpackAlgoTdcWordReader::ProcessEpoch(), processTimeDataWord(), TimeData, and Trailer.
Referenced by processCtsSubSubEvent(), and processHubBlock().
|
protected |
Definition at line 279 of file CbmRichUnpackAlgo.cxx.
References CbmRichUnpackAlgoBase::calculateTime(), CbmRichUnpackAlgoTdcTimeData::fChannel, CbmRichUnpackAlgoTdcTimeData::fCoarse, CbmRichUnpackAlgoTdcTimeData::fFine, fLastCh0ReTime, fMbsPrevTimeCh0, fMbsPrevTimeCh1, fPrevLastCh0ReTime, CbmRichUnpackAlgoBase::fToTMax, CbmRichUnpackAlgoBase::fToTMin, CbmRichUnpackAlgoBase::getLogHeader(), CbmRichUnpackAlgoBase::isLog(), CbmRichUnpackAlgoTdcTimeData::IsRisingEdge(), CbmRichUnpackAlgoTdcWordReader::ProcessTimeData(), CbmRichUnpackAlgoTdcTimeData::ToString(), and writeOutputDigi().
Referenced by processSubSubEvent().
|
protected |
Definition at line 236 of file CbmRichUnpackAlgo.cxx.
References CbmRichUnpackAlgoBase::getLogHeader(), CbmRichUnpackAlgoMicrosliceReader::GetWordAsHexString(), CbmRichUnpackAlgoBase::isLog(), CbmRichUnpackAlgoMicrosliceReader::NextWord(), processHubBlock(), and processMbs().
Referenced by unpack().
|
inlineprotectedinherited |
Set the Derived Ts Parameters.
In this function parameters required by the explicit algo connected to the timeslice can be set.
itimeslice |
Definition at line 299 of file CbmRichUnpackAlgoBase.h.
|
inlineinherited |
Set Addresses of DiRICH boards to be masked.
maskedDiRICHes | vector of Addresses |
Definition at line 230 of file CbmRichUnpackAlgoBase.h.
References CbmRichUnpackAlgoBase::fMaskedDiRICHes.
|
inlineinherited |
Set a predefined monitor.
monitor | predefined unpacking monitor |
Definition at line 227 of file CbmRichUnpackAlgoBase.h.
References CbmRichUnpackAlgoBase::fMonitor.
|
protected |
Unpack a given microslice. To be implemented in the derived unpacker algos.
ts | timeslice pointer |
icomp | index to the component to be unpacked |
imslice | index of the microslice to be unpacked |
Definition at line 22 of file CbmRichUnpackAlgo.cxx.
References CbmRichUnpackAlgoBase::fMsRefTime, CbmRichUnpackAlgoBase::getLogHeader(), CbmRichUnpackAlgoMicrosliceReader::GetOffset(), CbmRichUnpackAlgoMicrosliceReader::GetSize(), CbmRichUnpackAlgoMicrosliceReader::GetWordAsHexString(), CbmRichUnpackAlgoBase::isLog(), CbmRichUnpackAlgoMicrosliceReader::IsNextPadding(), CbmRichUnpackAlgoMicrosliceReader::NextWord(), processTrbPacket(), and CbmRichUnpackAlgoMicrosliceReader::SetData().
|
protected |
Write a gidi object into the output collection
Definition at line 346 of file CbmRichUnpackAlgo.cxx.
References CbmRichUnpackAlgoBase::fbDoToTCorr, CbmRichUnpackAlgoBase::fMsRefTime, CbmRichUnpackAlgoBase::fUnpackPar, CbmRichUnpackAlgoBase::getPixelUID(), and CbmMcbm2018RichPar::GetToTshift().
Referenced by processTimeDataWord().
|
protectedinherited |
Definition at line 326 of file CbmRichUnpackAlgoBase.h.
Referenced by CbmRichUnpackAlgoBase::DoTotOffsetCorrection(), CbmRichUnpackAlgo2022::writeOutputDigi(), and writeOutputDigi().
|
protected |
Definition at line 93 of file CbmRichUnpackAlgo.h.
Referenced by processTimeDataWord().
|
protectedinherited |
Definition at line 319 of file CbmRichUnpackAlgoBase.h.
Referenced by CbmRichUnpackAlgoBase::checkMaskedDiRICH(), and CbmRichUnpackAlgoBase::SetMaskedDiRICHes().
|
protected |
Definition at line 90 of file CbmRichUnpackAlgo.h.
Referenced by processMbs(), and processTimeDataWord().
|
protected |
Definition at line 91 of file CbmRichUnpackAlgo.h.
Referenced by processMbs(), and processTimeDataWord().
|
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 CbmRichUnpackAlgo2022::unpack().
|
protectedinherited |
Definition at line 321 of file CbmRichUnpackAlgoBase.h.
Referenced by CbmRichUnpackAlgo2022::unpack(), unpack(), CbmRichUnpackAlgo2022::writeOutputDigi(), and writeOutputDigi().
|
protected |
Definition at line 94 of file CbmRichUnpackAlgo.h.
Referenced by processTimeDataWord().
|
protectedinherited |
Definition at line 324 of file CbmRichUnpackAlgoBase.h.
Referenced by CbmRichUnpackAlgo2022::processTimeDataWord(), and processTimeDataWord().
|
protectedinherited |
Definition at line 323 of file CbmRichUnpackAlgoBase.h.
Referenced by CbmRichUnpackAlgo2022::processTimeDataWord(), and processTimeDataWord().
|
protectedinherited |
Parameters for the unpacking.
Definition at line 317 of file CbmRichUnpackAlgoBase.h.
Referenced by CbmRichUnpackAlgoBase::initParSet(), CbmRichUnpackAlgo2022::processSubSubEvent(), CbmRichUnpackAlgo2022::writeOutputDigi(), and writeOutputDigi().