CbmRoot
Loading...
Searching...
No Matches
CbmTofUnpackConfig.h
Go to the documentation of this file.
1/* Copyright (C) 2021 Goethe-University Frankfurt, Frankfurt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Pierre-Alain Loizeau, Pascal Raisig [committer] */
4
18#ifndef CbmTofUnpackConfig_H
19#define CbmTofUnpackConfig_H
20
21#include "CbmErrorMessage.h"
22#include "CbmRecoUnpackConfig.tmpl"
23#include "CbmTofDigi.h"
24#include "CbmTofUnpackAlgo.h"
25#include "CbmTofUnpackMonitor.h"
26
27#include <Rtypes.h>
28#include <RtypesCore.h>
29
30#include <cstddef>
31#include <cstdint>
32#include <memory>
33#include <vector>
34
35class CbmTofUnpackConfig : public CbmRecoUnpackConfig<CbmTofUnpackAlgo, CbmTofDigi, CbmErrorMessage> {
36
37 public:
45 CbmTofUnpackConfig(std::string detGeoSetupTag, UInt_t runid = 0);
46
51 virtual ~CbmTofUnpackConfig();
52
55
58
59 // Getters
60
65 void InitAlgo();
66
67
68 // Setters
74 void SetFlagEpochCountHack2021(bool bFlagin = true) { fbEpochCountHack2021 = bFlagin; }
75
81 void SetFlagBmonParMode(bool bFlagin = true) { fbBmonParMode = bFlagin; }
82
88 void SetParFileName(std::string sNewName) { fsParFileName = sNewName; }
89 void LoadParFileName() { fAlgo->SetParFileName(fsParFileName); }
90
92 void SetMonitor(std::shared_ptr<CbmTofUnpackMonitor> value) { fMonitor = value; }
93
95 std::shared_ptr<CbmTofUnpackMonitor> GetMonitor() { return fMonitor; }
96
97 protected:
103 virtual std::shared_ptr<CbmTofUnpackAlgo> chooseAlgo();
104
105 private:
108 bool fbBmonParMode = false;
110 std::string fsParFileName = "mTofCriPar.par";
111
113 std::shared_ptr<CbmTofUnpackMonitor> fMonitor = nullptr;
114
115 ClassDef(CbmTofUnpackConfig, 3)
116};
117
118#endif // CbmTofUnpackConfig_H
Baseclass for the TrdR unpacker algorithms.
virtual std::shared_ptr< CbmTofUnpackAlgo > chooseAlgo()
Choose the derived unpacker algorithm to be used for the DAQ output to Digi translation....
std::string fsParFileName
Parameter file name.
std::shared_ptr< CbmTofUnpackMonitor > fMonitor
pointer to the monitor object
CbmTofUnpackConfig(std::string detGeoSetupTag, UInt_t runid=0)
Create the Cbm Tof Unpack Task object.
void InitAlgo()
Initialize the algorithm, should include all steps needing te parameter objects to be present....
void SetFlagBmonParMode(bool bFlagin=true)
Sets the flag switching to a request of CbmMcbm2018BmonPar. Default is enable.
std::shared_ptr< CbmTofUnpackMonitor > GetMonitor()
Returns the monitor of the unpacker if any.
CbmTofUnpackConfig & operator=(const CbmTofUnpackConfig &)=delete
Assignment operator - not implemented.
void SetParFileName(std::string sNewName)
Sets the name of the parameter file to be used.
void SetMonitor(std::shared_ptr< CbmTofUnpackMonitor > value)
Add a monitor to the unpacker.
CbmTofUnpackConfig(const CbmTofUnpackConfig &)=delete
Copy constructor - not implemented.
virtual ~CbmTofUnpackConfig()
Destroy the Cbm Tof Unpack Task object.
bool fbEpochCountHack2021
Control flags.
void SetFlagEpochCountHack2021(bool bFlagin=true)
Sets the flag enabling the epoch offset hack for the July 2021 data. Default is enable.