CbmRoot
Loading...
Searching...
No Matches
QaStorableData.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#ifndef QaStorableData_h
11#define QaStorableData_h 1
12
13#include "Histogram.h"
14#include "HistogramContainer.h"
15
16#include <boost/serialization/vector.hpp>
17
18#include <forward_list>
19#include <type_traits>
20
21namespace cbm::algo::qa
22{
23 class Data;
24}
25
26namespace cbm::algo::qa
27{
31 public:
33 StorableData() = default;
34
37 explicit StorableData(const Data& qaData);
38
40 const std::vector<H1D>& H1() const { return fvH1; }
41
43 std::vector<H1D>& H1() { return fvH1; }
44
46 const std::vector<H2D>& H2() const { return fvH2; }
47
49 std::vector<H2D>& H2() { return fvH2; }
50
52 const std::vector<Prof1D>& P1() const { return fvP1; }
53
55 std::vector<Prof1D>& P1() { return fvP1; }
56
58 const std::vector<Prof2D>& P2() const { return fvP2; }
59
61 std::vector<Prof2D>& P2() { return fvP2; }
62
63 private:
65 template<class Archive>
66 void serialize(Archive& ar, const unsigned int /*version*/)
67 {
68 ar& fvH1;
69 ar& fvH2;
70 ar& fvP1;
71 ar& fvP2;
72 }
73
74 std::vector<H1D> fvH1{};
75 std::vector<H2D> fvH2{};
76 std::vector<Prof1D> fvP1{};
77 std::vector<Prof2D> fvP2{};
78 };
79} // namespace cbm::algo::qa
80
81#endif // QaStorableData_h
A histogram container for the histogram server (header)
ROOT-free implementation of a histogram.
Class to handle QA-objects in the online reconstruction.
Definition QaData.h:27
std::vector< H2D > fvH2
Container of 2D-histograms.
StorableData()=default
Default constructor.
std::vector< H1D > fvH1
Container of 1D-histograms.
std::vector< Prof2D > & P2()
Mutable access to 1D-profiles.
std::vector< H1D > & H1()
Mutable access to 1D-histograms.
const std::vector< H2D > & H2() const
Constant access to 2D-histograms.
std::vector< H2D > & H2()
Mutable access to 2D-histograms.
const std::vector< H1D > & H1() const
Constant access to 1D-histograms.
std::vector< Prof2D > fvP2
Container of 2D-profiles.
std::vector< Prof1D > fvP1
Container of 1D-profiles.
void serialize(Archive &ar, const unsigned int)
friend class boost::serialization::access
const std::vector< Prof1D > & P1() const
Constant access to 1D-profiles.
std::vector< Prof1D > & P1()
Mutable access to 1D-profiles.
const std::vector< Prof2D > & P2() const
Constant access to 2D-profiles.