18#include <boost/serialization/forward_list.hpp>
59 void Init(std::shared_ptr<HistogramSender> histoSender);
65 template<
class Obj,
typename... Args>
74 void Send(std::shared_ptr<HistogramSender> histoSender);
99 template<
class Obj,
typename... Args>
102 if constexpr (std::is_same_v<Obj, cbm::algo::qa::H1D>) {
108 else if constexpr (std::is_same_v<Obj, cbm::algo::qa::H2D>) {
114 else if constexpr (std::is_same_v<Obj, cbm::algo::qa::Prof1D>) {
120 else if constexpr (std::is_same_v<Obj, cbm::algo::qa::Prof2D>) {
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.
Class to handle QA-objects in the online reconstruction.
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.
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.
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.
void Reset()
Resets the histograms.
std::forward_list< qa::Prof1D > fvP1
List of 1D-profiles.
std::forward_list< qa::Prof2D > fvP2
List of 2D-profiles.
std::forward_list< qa::H1D > fvH1
List of 1D-histograms.
uint64_t fTimesliceId
Index of the timeslice.
std::forward_list< qa::H2D > fvH2
List of 2D-histograms.