13#include <RtypesCore.h>
19 : CbmRecoUnpackConfig(
"CbmTrdUnpackConfig", detGeoSetupTag, runid)
28 LOG(info) << fName <<
"::Init -";
39 if (fDoLog) LOG(info) << fName <<
"::Init - SetRawToDigiMethod";
42 if (fDoLog) LOG(info) << fName <<
"::Init - SetParFilesBasePath";
43 algo->SetParFilesBasePath(fParFilesBasePath);
46 if (fDoLog) LOG(info) << fName <<
"::SetAlgo - SetSystemTimeOffset";
47 algo->SetSystemTimeOffset(fSystemTimeOffset);
50 if (fDoLog) LOG(info) << fName <<
"::SetAlgo - SetDoIgnoreOverlappMs";
51 algo->SetDoIgnoreOverlappMs(fDoIgnoreOverlappMs);
54 if (fDoLog) LOG(info) << fName <<
"::SetAlgo - SetElinkTimeOffsetMap";
67 if (fDoLog) LOG(info) << fName <<
"::Init - chooseAlgo";
71 if (fGeoSetupTag.find(
"Desy2019") != fGeoSetupTag.npos) {
72 auto algo = std::make_shared<CbmTrdUnpackAlgoLegacy2020R>();
73 LOG(info) << fName <<
"::chooseAlgo() - selected algo = " << algo->Class_Name();
76 if (fGeoSetupTag.find(
"trd_IkfSmallChamber") != fGeoSetupTag.npos) {
77 auto algo = std::make_shared<CbmTrdUnpackAlgoLegacy2020R>();
78 LOG(info) << fName <<
"::chooseAlgo() - selected algo = " << algo->Class_Name();
81 if (fGeoSetupTag.find(
"v20a_mcbm") != fGeoSetupTag.npos) {
82 auto algo = std::make_shared<CbmTrdUnpackAlgoLegacy2020R>();
83 LOG(info) << fName <<
"::chooseAlgo() - selected algo = " << algo->Class_Name();
89 auto algo = std::make_shared<CbmTrdUnpackAlgoR>();
90 LOG(info) << fName <<
"::chooseAlgo() - selected algo = " << algo->Class_Name();
94 <<
"::Init - chooseAlgo() - no algorithm created something went wrong. We can not work like this!";
ClassImp(CbmConverterManager)
Unpacker algorithms for the TrdR 2020 data.
Unpacker algorithm for the TrdR 2021 data.
Configuration class for an unpacker algorithm.
std::map< uint32_t, std::vector< int32_t > > fElinkTimeOffsetMap
Map to store time offsets for each CRI&Elink combination.
void SetAlgo()
Setup the derived unpacker algorithm to be used for the DAQ output to Digi translation....
virtual ~CbmTrdUnpackConfig()
Destroy the Cbm Trd Unpack Task object.
void SetElinkTimeOffset(uint32_t criid, uint8_t elinkid, int32_t offsetNs)
Register a time offeset to be substracted from the digis which come from a specific CRI.
CbmTrdUnpackConfig(std::string detGeoSetupTag, UInt_t runid=0)
Create the Cbm Trd Unpack Task object.
std::shared_ptr< CbmTrdRawToDigiBaseR > fRTDMethod
pointer to the raw msg to digi method
std::shared_ptr< CbmTrdUnpackMonitor > fMonitor
pointer to the monitor object
virtual std::shared_ptr< CbmTrdUnpackAlgoBaseR > chooseAlgo()
Choose the derived unpacker algorithm to be used for the DAQ output to Digi translation....
std::shared_ptr< CbmTrdSpadic > fSpadic
Spadic software reprensentation object.