CbmRoot
Loading...
Searching...
No Matches
QaTaskHeader.h
Go to the documentation of this file.
1/* Copyright (C) 2025 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sergei Zharko [committer] */
4
9
10#pragma once
11
12#include "qa/QaManager.h"
13
14#include <memory>
15
16namespace cbm::algo::qa
17{
21 class TaskHeader {
22 public:
26 TaskHeader(const std::unique_ptr<Manager>& pManager, std::string_view name)
27 : fsName(name)
28 , fpData(pManager != nullptr ? pManager->GetData() : nullptr)
29 {
30 if (fpData != nullptr) {
31 fpData->RegisterNewTask(name);
32 }
33 }
34
36 TaskHeader(const TaskHeader&) = delete;
37
40
42 ~TaskHeader() = default;
43
45 TaskHeader& operator=(const TaskHeader&) = delete;
46
49
54 bool IsActive() const { return fpData.get(); }
55
57 const std::string& GetTaskName() { return fsName; }
58
59 protected:
62 void AddCanvasConfig(const CanvasConfig& canvas) { fpData->AddCanvasConfig(canvas); }
63
68 template<class Obj, typename... Args>
69 Obj* MakeObj(Args... args)
70 {
71 return fpData->MakeObj<Obj>(args...);
72 }
73
74 private:
75 std::string fsName{};
76 std::shared_ptr<Data> fpData{nullptr};
77 };
78} // namespace cbm::algo::qa
QA manager for the online data reconstruction.
A canvas configuration for the histogram server.
An interface to the qa::Manager.
const std::string & GetTaskName()
Gets name of the task.
void AddCanvasConfig(const CanvasConfig &canvas)
Adds a canvas configuration.
TaskHeader & operator=(TaskHeader &&)=delete
Move assignment operator.
TaskHeader(const std::unique_ptr< Manager > &pManager, std::string_view name)
Constructor.
bool IsActive() const
Checks, if the task is active.
Obj * MakeObj(Args... args)
Creates a QA-object and returns the pointer to it.
~TaskHeader()=default
Destructor.
std::string fsName
Name of the task.
TaskHeader(TaskHeader &&)=delete
Move constructor.
std::shared_ptr< Data > fpData
An instance of the QA data (shared between different tasks)
TaskHeader(const TaskHeader &)=delete
Copy constructor.
TaskHeader & operator=(const TaskHeader &)=delete
Copy assignment operator.