CbmRoot
Loading...
Searching...
No Matches
CbmBmonUnpackConfig.h
Go to the documentation of this file.
1/* Copyright (C) 2022 Facility for Antiproton and Ion Research in Europe, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Pierre-Alain Loizeau [committer] */
4
5#ifndef CbmBmonUnpackConfig_H
6#define CbmBmonUnpackConfig_H
7
8#include "CbmBmonDigi.h"
9#include "CbmBmonUnpackAlgo.h"
10#include "CbmErrorMessage.h"
11#include "CbmRecoUnpackConfig.tmpl"
12#include "CbmTofUnpackMonitor.h"
13
14#include <Rtypes.h>
15#include <RtypesCore.h>
16
17#include <cstddef>
18#include <cstdint>
19#include <memory>
20#include <vector>
21
22class CbmBmonUnpackConfig : public CbmRecoUnpackConfig<CbmBmonUnpackAlgo, CbmBmonDigi, CbmErrorMessage> {
23
24 public:
32 CbmBmonUnpackConfig(std::string detGeoSetupTag, UInt_t runid = 0);
33
38 virtual ~CbmBmonUnpackConfig();
39
42
45
46 // Getters
47
52 void InitAlgo();
53
54
55 // Setters
61 void SetFlagEpochCountHack2021(bool bFlagin = true) { fbEpochCountHack2021 = bFlagin; }
62
68 void SetFlagBmonParMode(bool bFlagin = true) { fbBmonParMode = bFlagin; }
69
75 void SetParFileName(std::string sNewName) { fsParFileName = sNewName; }
76 void LoadParFileName() { fAlgo->SetParFileName(fsParFileName); }
77
79 void SetMonitor(std::shared_ptr<CbmTofUnpackMonitor> value) { fMonitor = value; }
80
82 std::shared_ptr<CbmTofUnpackMonitor> GetMonitor() { return fMonitor; }
83
84 protected:
90 virtual std::shared_ptr<CbmBmonUnpackAlgo> chooseAlgo();
91
92 private:
95 bool fbBmonParMode = false;
97 std::string fsParFileName = "mTofCriPar.par";
98
100 std::shared_ptr<CbmTofUnpackMonitor> fMonitor = nullptr;
101
102 ClassDef(CbmBmonUnpackConfig, 1)
103};
104
105#endif // CbmBmonUnpackConfig_H
CbmBmonUnpackConfig(std::string detGeoSetupTag, UInt_t runid=0)
Create the Cbm Tof Unpack Task object.
std::shared_ptr< CbmTofUnpackMonitor > fMonitor
pointer to the monitor object
void SetFlagEpochCountHack2021(bool bFlagin=true)
Sets the flag enabling the epoch offset hack for the July 2021 data. Default is enable.
CbmBmonUnpackConfig(const CbmBmonUnpackConfig &)=delete
Copy constructor - not implemented.
std::string fsParFileName
Parameter file name.
std::shared_ptr< CbmTofUnpackMonitor > GetMonitor()
Returns the monitor of the unpacker if any.
virtual ~CbmBmonUnpackConfig()
Destroy the Cbm Tof Unpack Task object.
virtual std::shared_ptr< CbmBmonUnpackAlgo > chooseAlgo()
Choose the derived unpacker algorithm to be used for the DAQ output to Digi translation....
CbmBmonUnpackConfig & operator=(const CbmBmonUnpackConfig &)=delete
Assignment operator - not implemented.
void SetMonitor(std::shared_ptr< CbmTofUnpackMonitor > value)
Add a monitor to the unpacker.
bool fbEpochCountHack2021
Control flags.
void SetFlagBmonParMode(bool bFlagin=true)
Sets the flag switching to a request of CbmMcbm2018BmonPar. Default is enable.
void InitAlgo()
Initialize the algorithm, should include all steps needing te parameter objects to be present....
void SetParFileName(std::string sNewName)
Sets the name of the parameter file to be used.