|
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, 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, 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.
References CbmRichUnpackAlgoBase::CbmRichUnpackAlgoBase().
Referenced by CbmRichUnpackAlgo(), and operator=().
|
virtual |
Destroy the Cbm Trd Unpack Task object.
Definition at line 19 of file CbmRichUnpackAlgo.cxx.
|
delete |
Copy constructor - not implemented.
References CbmRichUnpackAlgo().
|
protectedinherited |
Definition at line 40 of file CbmRichUnpackAlgoBase.cxx.
Referenced by CbmRichUnpackAlgo::processMbs(), CbmRichUnpackAlgo2022::processTimeDataWord(), CbmRichUnpackAlgo::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 fMaskedDiRICHes.
Referenced by CbmRichUnpackAlgo2022::processSubSubEvent(), and CbmRichUnpackAlgo::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 fbDoToTCorr.
|
inlineprotectedinherited |
Finish function for this algorithm base clase.
Definition at line 239 of file CbmRichUnpackAlgoBase.h.
References finishDerived(), and fMonitor.
|
inlineprotectedvirtualinherited |
Function that allows special calls during Finish in the derived algos.
Definition at line 254 of file CbmRichUnpackAlgoBase.h.
Referenced by finish().
|
protectedinherited |
Definition at line 46 of file CbmRichUnpackAlgoBase.cxx.
References CbmRichUnpackAlgoMicrosliceReader::GetCurWord(), CbmRichUnpackAlgoMicrosliceReader::GetSize(), CbmRichUnpackAlgoMicrosliceReader::GetWordAsHexString(), and CbmRichUnpackAlgoMicrosliceReader::GetWordCounter().
Referenced by CbmRichUnpackAlgo2022::processCtsSubSubEvent(), CbmRichUnpackAlgo::processCtsSubSubEvent(), CbmRichUnpackAlgo2022::processHubBlock(), CbmRichUnpackAlgo::processHubBlock(), CbmRichUnpackAlgo::processMbs(), CbmRichUnpackAlgo2022::processSubSubEvent(), CbmRichUnpackAlgo::processSubSubEvent(), CbmRichUnpackAlgo2022::processTimeDataWord(), CbmRichUnpackAlgo::processTimeDataWord(), CbmRichUnpackAlgo2022::processTrbPacket(), CbmRichUnpackAlgo::processTrbPacket(), CbmRichUnpackAlgo2022::unpack(), and CbmRichUnpackAlgo::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] | uint32_t | runId for runwise defined parameters |
Definition at line 23 of file CbmRichUnpackAlgoBase.cxx.
Definition at line 258 of file CbmRichUnpackAlgoBase.h.
Referenced by CbmRichUnpackAlgo2022::writeOutputDigi(), and CbmRichUnpackAlgo::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 fMonitor, and fUnpackPar.
|
protectedinherited |
Handles the distribution of the hidden derived classes to their explicit functions.
| parset |
Definition at line 58 of file CbmRichUnpackAlgoBase.cxx.
References initParSet().
Referenced by initParSet().
|
protectedinherited |
Definition at line 84 of file CbmRichUnpackAlgoBase.cxx.
Referenced by CbmRichUnpackAlgo2022::processCtsSubSubEvent(), CbmRichUnpackAlgo::processCtsSubSubEvent(), CbmRichUnpackAlgo2022::processHubBlock(), CbmRichUnpackAlgo::processHubBlock(), CbmRichUnpackAlgo::processMbs(), CbmRichUnpackAlgo2022::processSubSubEvent(), CbmRichUnpackAlgo::processSubSubEvent(), CbmRichUnpackAlgo2022::processTimeDataWord(), CbmRichUnpackAlgo::processTimeDataWord(), CbmRichUnpackAlgo2022::processTrbPacket(), CbmRichUnpackAlgo::processTrbPacket(), CbmRichUnpackAlgo2022::unpack(), and CbmRichUnpackAlgo::unpack().
|
delete |
Assignment operator - not implemented.
References CbmRichUnpackAlgo().
|
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 fMaskedDiRICHes.
|
inlineinherited |
Set a predefined monitor.
| monitor | predefined unpacking monitor |
Definition at line 227 of file CbmRichUnpackAlgoBase.h.
References 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, and CbmRichUnpackAlgoBase::getPixelUID().
Referenced by processTimeDataWord().
|
protectedinherited |
Definition at line 326 of file CbmRichUnpackAlgoBase.h.
Referenced by DoTotOffsetCorrection(), CbmRichUnpackAlgo2022::writeOutputDigi(), and CbmRichUnpackAlgo::writeOutputDigi().
|
protected |
Definition at line 93 of file CbmRichUnpackAlgo.h.
Referenced by processTimeDataWord().
|
protectedinherited |
Definition at line 319 of file CbmRichUnpackAlgoBase.h.
Referenced by checkMaskedDiRICH(), and 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 finish(), initParSet(), SetMonitor(), and CbmRichUnpackAlgo2022::unpack().
|
protectedinherited |
Definition at line 321 of file CbmRichUnpackAlgoBase.h.
Referenced by CbmRichUnpackAlgo2022::unpack(), CbmRichUnpackAlgo::unpack(), CbmRichUnpackAlgo2022::writeOutputDigi(), and CbmRichUnpackAlgo::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 CbmRichUnpackAlgo::processTimeDataWord().
|
protectedinherited |
Definition at line 323 of file CbmRichUnpackAlgoBase.h.
Referenced by CbmRichUnpackAlgo2022::processTimeDataWord(), and CbmRichUnpackAlgo::processTimeDataWord().
|
protectedinherited |
Parameters for the unpacking.
Definition at line 317 of file CbmRichUnpackAlgoBase.h.
Referenced by initParSet(), CbmRichUnpackAlgo2022::processSubSubEvent(), CbmRichUnpackAlgo2022::writeOutputDigi(), and CbmRichUnpackAlgo::writeOutputDigi().