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
14
struct
YamlInputParam
{
15
std::string
block_name
;
16
LhaID
pdg_code
;
17
};
18
19
struct
YamlScanParam
{
20
std::string
block_name
;
21
LhaID
pdg_code
;
22
double
min_val
;
23
double
max_val
;
24
double
step_val
;
25
};
26
27
class
YamlInputReader
{
28
public
:
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
34
private
:
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
DBNode.h
Hierarchical key–value tree with JSON/YAML serialization.
LhaID.h
Lightweight representation of LHAPDF / SLHA-style identifiers.
YamlParser.h
Lightweight YAML parser/serializer for DBNode trees.
DBNode::Value
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
YAMLParser
YAML implementation of the IParser interface.
Definition
YamlParser.h:39
YamlInputReader
Definition
YamlInputReader.h:27
YamlInputReader::get_input_params
std::vector< YamlInputParam > get_input_params() const
Definition
YamlInputReader.cpp:42
YamlInputReader::get_scan_params
std::vector< YamlScanParam > get_scan_params() const
Definition
YamlInputReader.cpp:70
LhaID
Represents an identifier of a LHA element, possibly containing several sub-ids.
Definition
LhaID.h:56
YamlInputParam
Definition
YamlInputReader.h:14
YamlInputParam::pdg_code
LhaID pdg_code
Definition
YamlInputReader.h:16
YamlInputParam::block_name
std::string block_name
Definition
YamlInputReader.h:15
YamlScanParam
Definition
YamlInputReader.h:19
YamlScanParam::max_val
double max_val
Definition
YamlInputReader.h:23
YamlScanParam::block_name
std::string block_name
Definition
YamlInputReader.h:20
YamlScanParam::min_val
double min_val
Definition
YamlInputReader.h:22
YamlScanParam::pdg_code
LhaID pdg_code
Definition
YamlInputReader.h:21
YamlScanParam::step_val
double step_val
Definition
YamlInputReader.h:24
Hyperiso
core
src
UserInterface
YamlInputReader.h
Generated by
1.9.8