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.
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.
CbmTrdUnpackConfig(std::string detGeoSetupTag, UInt_t runid=0)
Create the Cbm Trd Unpack Task object.
void SetElinkTimeOffset(std::uint32_t criid, std::uint8_t elinkid, std::int32_t offsetNs)
Register a time offeset to be substracted from the digis which come from a specific CRI.
std::shared_ptr< CbmTrdRawToDigiBaseR > fRTDMethod
pointer to the raw msg to digi method
std::map< std::uint32_t, std::vector< std::int32_t > > fElinkTimeOffsetMap
Map to store time offsets for each CRI&Elink combination.
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.