CbmRoot
Loading...
Searching...
No Matches
algo/evbuild/Config.cxx
Go to the documentation of this file.
1/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Volker Friese [committer] */
4
5#include "Config.h"
6
7#include <fstream>
8
9#include <yaml-cpp/yaml.h>
10
12{
13
14 // ----- Constructor from YAML --------------------------------------------
15 Config::Config(YAML::Node node)
16 : fDigiTrigger(node["trigger"])
17 , fHitMultTrigger(node["hit_mult_trigger"])
18 , fV0Trigger(node["v0trigger"])
19 , fBuilder(node["eventbuilder"])
20 , fSelector(node["selector"])
21 {
22 if (!node) throw std::runtime_error("no configuration node for event building");
23 }
24 // ----------------------------------------------------------------------------
25
26
27 // ----- Save configuration to YAML file ----------------------------------
28 YAML::Node Config::ToYaml() const
29 {
30 YAML::Node result;
31 result["trigger"] = fDigiTrigger.ToYaml(); // Digi trigger config
32 result["hit_mult_trigger"] = fHitMultTrigger.ToYaml(); // Hit multiplicity trigger config
33 result["v0trigger"] = fV0Trigger.ToYaml(); // V0 trigger config
34 result["eventbuilder"] = fBuilder.ToYaml(); // Event builder config
35 result["selector"] = fSelector.ToYaml(); // Event selector config
36 return result;
37 }
38 // ----------------------------------------------------------------------------
39
40} // namespace cbm::algo::evbuild
V0TriggerConfig fV0Trigger
V0 trigger configuration.
DigiTriggerConfig fDigiTrigger
Digi trigger configuration.
EventBuilderConfig fBuilder
Event builder configuration.
DigiTriggerConfig fHitMultTrigger
Hit multiplicity trigger configuration.
Config(YAML::Node node)
Constructor from YAML.
DigiEventSelectorConfig fSelector
Event selector configuration.
YAML::Node ToYaml() const
Save to YAML file.
YAML::Node ToYaml() const
Save to YAML.
YAML::Node ToYaml() const
Save to YAML.
YAML::Node ToYaml() const
Save to YAML.