Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
Interpreter.h
Go to the documentation of this file.
1#ifndef INTERPRETER_H
2#define INTERPRETER_H
3
4#include <string>
5#include <unordered_map>
6#include <memory>
7
8#include "Extractor.h"
9#include "LhaID.h"
10#include "ICoreAPI.h"
12#include "FileNameManager.h"
13#include "InterpretedParam.h"
14
42public:
54 Interpreter(const std::string& model,
55 std::shared_ptr<ICoreAPI<Model>> api,
56 std::shared_ptr<IInterpreterPortsFactory> ports);
57
69 std::unordered_map<std::string, InterpretedParam>
70 interpret(std::vector<Extractor::Parameter>& params);
71
73 Interpreter(const Interpreter& other);
75 Interpreter& operator=(const Interpreter& other);
77 Interpreter(Interpreter&&) noexcept = default;
79 Interpreter& operator=(Interpreter&&) noexcept = default;
80
81private:
83 std::unique_ptr<IParameterResolver> resolver;
84
86 std::shared_ptr<ICoreAPI<Model>> marty_api;
87};
88
89
90#endif // INTERPRETER_H
Declares utilities to extract parameter declarations from C++ code.
Manages file and directory names for generated MARTY code and assets.
Model
Declares a factory interface for building parameter resolvers.
Lightweight key describing an interpreted LHA/SLHA parameter.
Lightweight representation of LHAPDF / SLHA-style identifiers.
Generic interface returning a single value of type T from the core.
Definition ICoreAPI.h:30
Interface for resolving external parameter names into ResolvedParam.
Resolves MARTY parameter names into Hyperiso blocks and IDs.
Definition Interpreter.h:41
std::unordered_map< std::string, InterpretedParam > interpret(std::vector< Extractor::Parameter > &params)
Interprets a set of extracted parameters.
Interpreter(Interpreter &&) noexcept=default
Move constructor (defaulted).
Interpreter & operator=(const Interpreter &other)
Copy assignment operator.
Hash specialization for SymbolId<Tag>.
Definition BlockName.h:353