Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
HyperisoMaster.h
Go to the documentation of this file.
1#ifndef HYPERISO_MASTER_H
2#define HYPERISO_MASTER_H
3
4#include <vector>
5#include <string>
6#include <map>
7
8#include "IMonitor.h"
9#include "MemoryManager.h"
10#include "ParamBlockLoader.h"
11#include "CorrelationAdapter.h"
12#include "SpectrumCalculator.h"
14#include "MartyRuntimeConfig.h"
15#include "SoftSusy.h"
16
61class HyperisoMaster : public IMonitor<ExternalFlag> {
62private:
63 std::map<APIPath, fs::path> path_overrides;
64
65 void ensure_memory_manager_created();
66 bool should_validate_marty_runtime(const HyperisoConfig& config) const;
67 bool validate_marty_runtime_if_needed(const HyperisoConfig& config, const std::string& context) const;
68
69public:
70
84 void init(const std::string &lhaFile, HyperisoConfig config);
85
91 void pre_init_add_block(BlockName blockName,
92 size_t itemCount=2,
93 size_t valueIdx=1,
94 int scaleIdx=-1,
95 int rgIdx=-1,
96 int binIdx=-1,
97 bool globalScale=false);
98
102 void pre_init_add_blocks(const std::vector<LhaPrototypeSpec>& prototypes);
103
112 void pre_init_set_marty_path(const std::string& martyInstallPath);
113
121 void pre_init_set_softsusy_path(const std::string& softsusyPath);
122
137 void pre_init_set_paths(const std::map<APIPath, std::string>& pathOverrides);
138
144 void pre_init_set_marty_cache_dir(const std::string& cacheDir);
145
151 void pre_init_set_spectrum_cache_dir(const std::string& cacheDir);
152
164 void init(const std::string &lhaFile);
165
174 bool check_flag(ExternalFlag flag);
175
184
196 void switch_lha(const std::string &lhaFile, HyperisoConfig config);
197};
198
199#endif // HYPERISO_MASTER_H
ExternalFlag
Flags describing external input characteristics.
Definition Config.h:13
Model
Generic interface for monitoring flags within the framework.
Manages memory caching, parameter blocks, and LHA reader instances.
Loads parameter blocks from a file into a BlockAccessor.
Concrete spectrum calculator using external tools.
Block identifier with alias support.
Definition BlockName.h:59
High-level interface to initialize and monitor the main framework configuration.
void pre_init_add_block(BlockName blockName, size_t itemCount=2, size_t valueIdx=1, int scaleIdx=-1, int rgIdx=-1, int binIdx=-1, bool globalScale=false)
Registers one additional LHA block prototype before init().
void init(const std::string &lhaFile, HyperisoConfig config)
Initializes Hyperiso using a LHA file and a full Config object.
bool check_flag(ExternalFlag flag)
Checks if a specific external flag is active.
void pre_init_add_blocks(const std::vector< LhaPrototypeSpec > &prototypes)
Registers several additional LHA block prototypes before init().
void pre_init_set_paths(const std::map< APIPath, std::string > &pathOverrides)
Overrides selected HyperISO filesystem paths before init().
void switch_lha(const std::string &lhaFile, HyperisoConfig config)
Switches the LHA file and applies a new configuration.
void pre_init_set_marty_path(const std::string &martyInstallPath)
Registers an existing MARTY installation before init().
void pre_init_set_spectrum_cache_dir(const std::string &cacheDir)
Sets the writable spectrum cache directory before init().
Model get_model()
Retrieves the current model type used by Hyperiso.
void pre_init_set_marty_cache_dir(const std::string &cacheDir)
Sets the writable MARTY generated-code/cache directory before init().
void pre_init_set_softsusy_path(const std::string &softsusyPath)
Registers a SOFTSUSY executable or installation directory before init().
Interface for monitoring flags inside the framework (internal or external).
Definition IMonitor.h:32
Configuration object controlling model, input flags and optional MARTY resources.
Definition Config.h:24