Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
ObjectsOutputs.h
Go to the documentation of this file.
1#ifndef OBJECTS_OUTPUTS_H
2#define OBJECTS_OUTPUTS_H
3
4#include <string>
5#include <vector>
6#include <unordered_map>
7#include <variant>
8
9using Value = std::variant<std::monostate, double, int64_t, bool, std::string>;
10
11struct ScanVar {
12 std::string name;
13 std::string block;
14 int pdg = 0;
15 double min = 0;
16 double max = 0;
17 double step = 0;
18};
19
20struct DataPoint {
21 std::vector<double> x;
22
23 std::unordered_map<std::string, Value> y;
24};
25
26struct DataSet {
27 std::unordered_map<std::string, Value> meta;
28 std::vector<ScanVar> vars;
29
30 std::vector<std::string> outputs_schema;
31
32 std::vector<DataPoint> points;
33};
34
35enum class OutputFormat { TERMINAL, CSV, JSON };
36
37struct OutputSpec {
38 std::vector<std::string> keys;
39
40 bool pretty_json = true;
41 bool csv_write_header = true;
42 char csv_sep = ',';
43};
44
45#endif
std::variant< std::monostate, double, int64_t, bool, std::string > Value
OutputFormat
std::vector< double > x
std::unordered_map< std::string, Value > y
std::vector< DataPoint > points
std::vector< std::string > outputs_schema
std::vector< ScanVar > vars
std::unordered_map< std::string, Value > meta
bool csv_write_header
std::vector< std::string > keys
std::string name
double max
double min
std::string block
double step