60 void Init(std::shared_ptr<HistogramSender> histoSender);
66 template<
class Obj,
typename... Args>
75 void Send(std::shared_ptr<HistogramSender> histoSender);
104 template<
class Obj,
typename... Args>
107 if constexpr (std::is_same_v<Obj, cbm::algo::qa::H1D>) {
108 Obj* res = &(
fHistograms.fvH1.emplace_front(args...));
113 else if constexpr (std::is_same_v<Obj, cbm::algo::qa::H2D>) {
114 Obj* res = &(
fHistograms.fvH2.emplace_front(args...));
119 else if constexpr (std::is_same_v<Obj, cbm::algo::qa::Prof1D>) {
120 Obj* res = &(
fHistograms.fvP1.emplace_front(args...));
125 else if constexpr (std::is_same_v<Obj, cbm::algo::qa::Prof2D>) {
126 Obj* res = &(
fHistograms.fvP2.emplace_front(args...));
A class representing a canvas in the message for the Histogram server.
A histogram container for the histogram server (header)
QA-task properties structure.
A canvas configuration for the histogram server.
std::string ToString() const
Returns message config.
void AddCanvasConfig(const CanvasConfig &canvas)
Adds a canvas to the canvas config list.
bool fbNotEmpty
false: if no histograms were provided, do not perform initialization and sending
void RegisterNewTask(std::string_view name)
Registers a new QA task.
void SetTimesliceTimeInRun(uint64_t timesliceTime)
Updates the timeslice start time relative to run start time.
Data(const Data &)=default
Copy constructor.
~Data()=default
Destructor.
std::string fsTaskNames
A string containing names of tasks.
Data & operator=(Data &&)=default
Move assignment operator.
const HistogramContainer & Histograms() const
Constant accessor to the histogram container.
void Send(std::shared_ptr< HistogramSender > histoSender)
Sends QA data to the HistogramSender.
uint32_t fNofH1
Number of 1D-histograms.
void Init(std::shared_ptr< HistogramSender > histoSender)
Sends QA initialization information to the HistogramSender.
void SetTimesliceId(uint64_t timesliceId)
Updates the timeslice index.
uint32_t fNofP1
Number of 1D-profiles.
void Reset()
Resets the histograms.
uint32_t fNofP2
Number of 2D-profiles.
Data & operator=(const Data &)=default
Copy assignment operator.
Data(Data &&)=default
Move constructor.
Obj * MakeObj(Args... args)
Creates a QA-object and returns the pointer to it.
qa::HistogramContainer fHistograms
A container of histograms, which forms a zmq message.
std::vector< std::string > fvsCanvCfgs
Vector of canvas configs.
uint32_t fNofH2
Number of 2D-histograms.
Data(std::string_view name)
Constructor.
Data()=default
Default constructor.
std::vector< qa::TaskProperties > fvTaskProperties
A vector to store properties for multiple QA-tasks.
Structure to keep the histograms for sending them on the histogram server.