Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
YamlInputReader.h
Go to the documentation of this file.
1#ifndef YAML_INPUT_READER_H
2#define YAML_INPUT_READER_H
3
4#include <memory>
5#include <string>
6#include <vector>
7#include <stdexcept>
8#include <variant>
9
10#include "YamlParser.h"
11#include "DBNode.h"
12#include "LhaID.h"
13
15 std::string block_name;
17};
18
20 std::string block_name;
22 double min_val;
23 double max_val;
24 double step_val;
25};
26
28public:
29 explicit YamlInputReader(const std::string& filename);
30
31 std::vector<YamlInputParam> get_input_params() const;
32 std::vector<YamlScanParam> get_scan_params() const;
33
34private:
35 YAMLParser yaml_p;
36 std::shared_ptr<DBNode> root_;
37
38 static std::string unquote(std::string s);
39
40 static std::string as_string(const DBNode::Value& v, const std::string& ctx);
41 static double as_double(const DBNode::Value& v, const std::string& ctx);
42 static std::shared_ptr<DBNode> as_node(const DBNode::Value& v, const std::string& ctx);
43};
44
45#endif
Hierarchical key–value tree with JSON/YAML serialization.
Lightweight representation of LHAPDF / SLHA-style identifiers.
Lightweight YAML parser/serializer for DBNode trees.
std::variant< BlockName, int, double, bool, std::shared_ptr< DBNode >, std::vector< std::shared_ptr< DBNode > > > Value
Variant type used to store values in the tree.
Definition DBNode.h:45
YAML implementation of the IParser interface.
Definition YamlParser.h:39
std::vector< YamlInputParam > get_input_params() const
std::vector< YamlScanParam > get_scan_params() const
Represents an identifier of a LHA element, possibly containing several sub-ids.
Definition LhaID.h:56
std::string block_name
std::string block_name