21#ifndef CbmTofUnpackAlgo_H
22#define CbmTofUnpackAlgo_H
26#include "CbmRecoUnpackAlgo.tmpl"
30#include "Timeslice.hpp"
33#include <RtypesCore.h>
63 virtual std::vector<std::pair<std::string, std::shared_ptr<FairParGenericSet>>>*
106 std::cout <<
"Finish Monitor" << std::endl;
159 bool unpack(
const fles::Timeslice* ts, uint16_t icomp, UInt_t imslice);
223 std::shared_ptr<CbmTofUnpackMonitor>
fMonitor =
nullptr;
CbmMcbm2018TofPar * fUnpackPar
size_t fuCurrentMsSysId
Time of the current MS in s.
ULong64_t fulCurrentEpoch
Data format control: Current time references for each GDPB: merged epoch marker, epoch cycle,...
UInt_t fuCurrDpbIdx
Temp holder until Current equipment ID is properly filled in MS.
UInt_t fuNrOfGdpbs
For static/inline mapping functions.
UInt_t fuCurrDpbId
Current equipment ID, tells from which DPB the current MS is originating.
void ExtractTsStartEpoch(const uint64_t &ulTsStart)
Message processing methods.
bool fbEpochCountHack2021
Current epoch index.
void SetMonitor(std::shared_ptr< CbmTofUnpackMonitor > monitor)
Set a predefined monitor.
UInt_t fuNrOfChannelsPerFee
Number of channels in each GET4.
void SetFlagEpochCountHack2021(bool bFlagin=true)
Sets the flag enabling the epoch offset hack for the July 2021 data. Default is enable.
Bool_t initParSet(FairParGenericSet *parset)
Handles the distribution of the hidden derived classes to their explicit functions.
void ProcessEpSupprBuffer()
Buffers processing.
UInt_t fuGet4Nr
running number (0 to fuNrOfGet4PerGdpb) of the Get4 chip of a unique GDPB for current message
void ProcessEpoch(const critof001::Message &mess, uint32_t uMesgIdx)
UInt_t fuNrOfChannelsPerGet4
Number of GET4s per FEE.
bool unpack(const fles::Timeslice *ts, uint16_t icomp, UInt_t imslice)
Unpack a given microslice. To be implemented in the derived unpacker algos.
virtual ~CbmTofUnpackAlgo()
Destroy the Cbm Trd Unpack Task object.
ULong64_t fulCurrentMsIdx
Idx of the current TS.
std::vector< CbmTofDigi > & GetOutputVec()
Get a reference to the output vector. Used by BMON encapsulating algo to access output.
void SetParFileName(std::string sNewName)
Sets the name of the parameter file to be used.
CbmTofUnpackAlgo & operator=(const CbmTofUnpackAlgo &)=delete
Assignment operator - not implemented.
ULong64_t fulCurrentTsIdx
CbmTofUnpackAlgo()
Create the Cbm Trd Unpack AlgoBase object.
UInt_t fuNrOfGet4PerFee
Number of FEBs per GDPB.
UInt_t fuMapWarnToPrint
Running indices.
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 par...
void finishDerived()
Function that allows special calls during Finish in the derived algos.
void ProcessHit(const critof001::Message &mess)
uint64_t fulTsStartInEpoch
std::vector< bool > fvbMaskedComponents
void SetFlagBmonParMode(bool bFlagin=true)
Sets the flag switching to a request of CbmMcbm2018BmonPar. Default is enable.
std::string fParFileName
Settings from parameter file.
CbmTofUnpackAlgo(const CbmTofUnpackAlgo &)=delete
Copy constructor - not implemented.
UInt_t fuCurrentEquipmentId
SysId of the current MS in TS (0 to fuTotalMsNb)
UInt_t fuNrOfGet4
Number of channels in each FEE.
uint64_t fulEpochIndexInTs
double fdCurrentMsTime
Idx of the current MS in TS (0 to fuTotalMsNb)
uint32_t fuProcEpochUntilError
Book-keeping members.
bool setDerivedTsParameters(size_t)
Set the Derived Ts Parameters.
std::vector< Int_t > fviRpcChUId
std::map< UInt_t, UInt_t > fGdpbIdIndexMap
Total number of GDPBs in the system.
void finish()
Raise permissions for access to these protected methods to allow access in encapsulating BMON algo.
UInt_t fuNrOfGet4PerGdpb
Total number of Get4 chips in the system.
UInt_t fuNrOfFeePerGdpb
gDPB ID to index map
UInt_t fuGet4Id
Index of the DPB from which the MS currently unpacked is coming.
std::shared_ptr< CbmTofUnpackMonitor > fMonitor
Potential (online) monitor for the unpacking process.
void ProcessEndOfMsEpoch()
UInt_t fuNrOfChannelsPerGdpb
Number of GET4s per GDPB.
Bool_t init()
Initialisation at begin of run. Special inits of the derived algos.
Int_t GetArrayIndex(Int_t gdpbId, Int_t get4Id)
UInt_t fuNrOfGbtx
Number of channels per GDPB.
uint64_t fulBadEpochHitNb