CbmRoot
Loading...
Searching...
No Matches
ReadoutParFiles.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 ALGO_ReadoutParFiles_h
11#define ALGO_ReadoutParFiles_h 1
12
13#include "CbmYaml.h"
14
15#include <optional>
16#include <string>
17
18namespace cbm::algo
19{
23
26 struct Mvd {
27 std::string readout;
28 std::string channelMask;
29
31 util::yaml::Property(&ReadoutParFiles::Mvd::readout, "readout", "Readout setup parameters"),
32 util::yaml::Property(&ReadoutParFiles::Mvd::channelMask, "channelMask", "Masked hot/dead channels"));
33 };
34
37 struct Sts {
38 std::string readout;
39 std::string channelMask;
40 std::string walkMap;
41
43 util::yaml::Property(&ReadoutParFiles::Sts::readout, "readout", "Readout setup parameters"),
44 util::yaml::Property(&ReadoutParFiles::Sts::channelMask, "channelMask", "Masked hot/dead channels"),
45 util::yaml::Property(&ReadoutParFiles::Sts::walkMap, "walkMap", "Masked hot/dead channels"));
46 };
47
50 struct Rich {
51 std::string readout;
52 std::string channelMask;
53
55 util::yaml::Property(&ReadoutParFiles::Rich::readout, "readout", "Readout setup parameters"),
56 util::yaml::Property(&ReadoutParFiles::Rich::channelMask, "channelMask", "Masked hot/dead channels"));
57 };
58
61 struct Much {
62 std::string readout;
63
65 util::yaml::Property(&ReadoutParFiles::Much::readout, "readout", "Readout setup parameters"));
66 };
67
70 struct Trd {
71 std::string readout;
72 std::string channelMask; // TODO: Implement?
73
75 util::yaml::Property(&ReadoutParFiles::Trd::readout, "readout", "Readout setup parameters"),
76 util::yaml::Property(&ReadoutParFiles::Trd::channelMask, "channelMask", "Masked hot/dead channels"));
77 };
78
81 struct Tof {
82 std::string readout;
83 std::string channelMask; // TODO: Implement?
84
86 util::yaml::Property(&ReadoutParFiles::Tof::readout, "readout", "Readout setup parameters"),
87 util::yaml::Property(&ReadoutParFiles::Tof::channelMask, "channelMask", "Masked hot/dead channels"));
88 };
89
92 struct Must {
93 std::string readout;
94 std::string channelMask; // TODO: Implement?
95
97 util::yaml::Property(&ReadoutParFiles::Must::readout, "readout", "Readout parameters"),
98 util::yaml::Property(&ReadoutParFiles::Must::channelMask, "channelMask", "Masked hot/dead channels"));
99 };
100
103 struct Bmon {
104 std::string readout;
105 std::string channelMask; // TODO: Implement?
106
108 util::yaml::Property(&ReadoutParFiles::Bmon::readout, "readout", "Readout parameters"),
109 util::yaml::Property(&ReadoutParFiles::Bmon::channelMask, "channelMask", "Masked hot/dead channels"));
110 };
111
114 struct Trd2d {
115 std::string readout;
116 std::string fee;
117
119 util::yaml::Property(&ReadoutParFiles::Trd2d::readout, "readout", "Readout parameters"),
120 util::yaml::Property(&ReadoutParFiles::Trd2d::fee, "fee", "Masked hot/dead channels"));
121 };
122
125 struct Fsd {
126 std::string readout;
127 std::string channelMask; // TODO: Implement?
128
130 util::yaml::Property(&ReadoutParFiles::Fsd::readout, "readout", "Readout parameters"),
131 util::yaml::Property(&ReadoutParFiles::Fsd::channelMask, "channelMask", "Masked hot/dead channels"));
132 };
133
134 std::optional<Mvd> mvd{std::nullopt};
135 std::optional<Sts> sts{std::nullopt};
136 std::optional<Rich> rich{std::nullopt};
137 std::optional<Much> much{std::nullopt};
138 std::optional<Trd> trd{std::nullopt};
139 std::optional<Tof> tof{std::nullopt};
140 std::optional<Must> must{std::nullopt};
141 std::optional<Bmon> bmon{std::nullopt};
142 std::optional<Trd2d> trd2d{std::nullopt};
143 std::optional<Fsd> fsd{std::nullopt};
144
146 util::yaml::Property(&ReadoutParFiles::mvd, "mvd", "MVD parameters"),
147 util::yaml::Property(&ReadoutParFiles::sts, "sts", "STS parameters"),
148 util::yaml::Property(&ReadoutParFiles::rich, "rich", "RICH parameters"),
149 util::yaml::Property(&ReadoutParFiles::much, "much", "MUCH parameters"),
150 util::yaml::Property(&ReadoutParFiles::trd, "trd", "TRD parameters"),
151 util::yaml::Property(&ReadoutParFiles::tof, "tof", "TOF parameters"),
152 util::yaml::Property(&ReadoutParFiles::must, "must", "MUST parameters"),
153 util::yaml::Property(&ReadoutParFiles::bmon, "bmon", "BMON parameters"),
154 util::yaml::Property(&ReadoutParFiles::trd2d, "trd2d", "TRD2D parameters"),
155 util::yaml::Property(&ReadoutParFiles::fsd, "fsd", "FSD parameters"));
156 };
157} // namespace cbm::algo
158
159
160#endif // ReadoutParFiles_h
A structure to keep readout parameters for BMON.
CBM_YAML_PROPERTIES(util::yaml::Property(&ReadoutParFiles::Bmon::readout, "readout", "Readout parameters"), util::yaml::Property(&ReadoutParFiles::Bmon::channelMask, "channelMask", "Masked hot/dead channels"))
A structure to keep readout parameters for FSD.
CBM_YAML_PROPERTIES(util::yaml::Property(&ReadoutParFiles::Fsd::readout, "readout", "Readout parameters"), util::yaml::Property(&ReadoutParFiles::Fsd::channelMask, "channelMask", "Masked hot/dead channels"))
A structure to keep readout parameters for MUCH.
CBM_YAML_PROPERTIES(util::yaml::Property(&ReadoutParFiles::Much::readout, "readout", "Readout setup parameters"))
A structure to keep readout parameters for MUST.
CBM_YAML_PROPERTIES(util::yaml::Property(&ReadoutParFiles::Must::readout, "readout", "Readout parameters"), util::yaml::Property(&ReadoutParFiles::Must::channelMask, "channelMask", "Masked hot/dead channels"))
A structure to keep readout parameters for MVD.
CBM_YAML_PROPERTIES(util::yaml::Property(&ReadoutParFiles::Mvd::readout, "readout", "Readout setup parameters"), util::yaml::Property(&ReadoutParFiles::Mvd::channelMask, "channelMask", "Masked hot/dead channels"))
A structure to keep readout parameters for RICH.
CBM_YAML_PROPERTIES(util::yaml::Property(&ReadoutParFiles::Rich::readout, "readout", "Readout setup parameters"), util::yaml::Property(&ReadoutParFiles::Rich::channelMask, "channelMask", "Masked hot/dead channels"))
A structure to keep readout parameters for STS.
CBM_YAML_PROPERTIES(util::yaml::Property(&ReadoutParFiles::Sts::readout, "readout", "Readout setup parameters"), util::yaml::Property(&ReadoutParFiles::Sts::channelMask, "channelMask", "Masked hot/dead channels"), util::yaml::Property(&ReadoutParFiles::Sts::walkMap, "walkMap", "Masked hot/dead channels"))
A structure to keep readout parameters for TOF.
CBM_YAML_PROPERTIES(util::yaml::Property(&ReadoutParFiles::Tof::readout, "readout", "Readout setup parameters"), util::yaml::Property(&ReadoutParFiles::Tof::channelMask, "channelMask", "Masked hot/dead channels"))
A structure to keep readout parameters for TRD2D.
CBM_YAML_PROPERTIES(util::yaml::Property(&ReadoutParFiles::Trd2d::readout, "readout", "Readout parameters"), util::yaml::Property(&ReadoutParFiles::Trd2d::fee, "fee", "Masked hot/dead channels"))
A structure to keep readout parameters for TRD.
CBM_YAML_PROPERTIES(util::yaml::Property(&ReadoutParFiles::Trd::readout, "readout", "Readout setup parameters"), util::yaml::Property(&ReadoutParFiles::Trd::channelMask, "channelMask", "Masked hot/dead channels"))
Relative paths to parameter file paths, which are used by the unpackers.
std::optional< Rich > rich
STS parameters.
std::optional< Sts > sts
MVD parameters.
std::optional< Must > must
TOF parameters.
std::optional< Much > much
RICH parameters.
std::optional< Trd > trd
MUCH parameters.
std::optional< Mvd > mvd
std::optional< Tof > tof
TRD parameters.
std::optional< Fsd > fsd
TRD2D parameters.
std::optional< Trd2d > trd2d
BMON parameters.
CBM_YAML_PROPERTIES(util::yaml::Property(&ReadoutParFiles::mvd, "mvd", "MVD parameters"), util::yaml::Property(&ReadoutParFiles::sts, "sts", "STS parameters"), util::yaml::Property(&ReadoutParFiles::rich, "rich", "RICH parameters"), util::yaml::Property(&ReadoutParFiles::much, "much", "MUCH parameters"), util::yaml::Property(&ReadoutParFiles::trd, "trd", "TRD parameters"), util::yaml::Property(&ReadoutParFiles::tof, "tof", "TOF parameters"), util::yaml::Property(&ReadoutParFiles::must, "must", "MUST parameters"), util::yaml::Property(&ReadoutParFiles::bmon, "bmon", "BMON parameters"), util::yaml::Property(&ReadoutParFiles::trd2d, "trd2d", "TRD2D parameters"), util::yaml::Property(&ReadoutParFiles::fsd, "fsd", "FSD parameters"))
FSD parameters.
std::optional< Bmon > bmon
MUST parameters.