Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
MartyWilsonAdapter.h
Go to the documentation of this file.
1#ifndef MARTY_WILSON_ADAPTER_H
2#define MARTY_WILSON_ADAPTER_H
3
4#include "MartyInterface.h"
6
7#include <utility>
8
31class MartyWilsonAdapter : public IMartyWilsonAdapter<InterpretedParam> {
32public:
39 MartyWilsonAdapter() {martyInterface = MartyInterface();}
40
46 void calculate(std::string wilson, std::string model, double Q_match, std::string model_path) override {martyInterface.calculate(wilson, model, Q_match, model_path);}
47
51 void calculate(std::string wilson,
52 std::string output_model,
53 std::string target_model,
54 double Q_match,
55 std::string model_path,
56 bool sm_like_filter,
57 bool bsm_split_generation = false,
58 bool full_target_generation = false) override {
59 martyInterface.calculate(
60 wilson,
61 output_model,
62 target_model,
63 Q_match,
64 model_path,
65 sm_like_filter,
66 bsm_split_generation,
67 full_target_generation
68 );
69 }
70
71 std::string calculate_isolated(std::string wilson,
72 std::string output_model,
73 std::string target_model,
74 double Q_match,
75 std::string model_path,
76 bool sm_like_filter,
77 bool bsm_split_generation = false,
78 bool full_target_generation = false) override {
79 return martyInterface.calculate_isolated(
80 std::move(wilson),
81 std::move(output_model),
82 std::move(target_model),
83 Q_match,
84 std::move(model_path),
85 sm_like_filter,
86 bsm_split_generation,
87 full_target_generation
88 );
89 }
90
96 std::set<std::string> get_special_blocks() override {return martyInterface.get_special_blocks();}
97
103 std::unordered_set<InterpretedParam> get_dependencies(std::string wilson) override {return martyInterface.get_dependencies(wilson);}
104
105private:
107 MartyInterface martyInterface;
108};
109
110#endif // MARTY_WILSON_ADAPTER_H
Declares an abstraction layer for MARTY-based Wilson coefficient calculations.
High-level façade around MARTY-based code generation and compilation.
Interface for model/Wilson adapters built on MARTY.
High-level interface to MARTY-based code generation and execution.
std::set< std::string > get_special_blocks()
Returns the special blocks handled with custom logic.
std::string calculate_isolated(std::string wilson, std::string output_model, std::string target_model, double Q_match, std::string model_path, bool sm_like_filter, bool bsm_split_generation=false, bool full_target_generation=false)
Thread-safe calculation using invocation-local parameter and CSV files.
std::unordered_set< InterpretedParam > get_dependencies(std::string wilson)
Retrieves the set of parameter dependencies for a given Wilson basis.
void calculate(std::string wilson, std::string model, double Q_match, std::string model_path)
Convenience shortcut to generate, compile, and run the full pipeline.
Concrete adapter for Wilson calculations based on MartyInterface.
void calculate(std::string wilson, std::string output_model, std::string target_model, double Q_match, std::string model_path, bool sm_like_filter, bool bsm_split_generation=false, bool full_target_generation=false) override
Launches calculation with separate output label and target model.
std::unordered_set< InterpretedParam > get_dependencies(std::string wilson) override
Returns the dependencies associated with a given Wilson basis.
std::set< std::string > get_special_blocks() override
Returns the set of special blocks requiring custom handling.
void calculate(std::string wilson, std::string model, double Q_match, std::string model_path) override
Launches a full calculation for a given (Wilson, model) pair.
std::string calculate_isolated(std::string wilson, std::string output_model, std::string target_model, double Q_match, std::string model_path, bool sm_like_filter, bool bsm_split_generation=false, bool full_target_generation=false) override
MartyWilsonAdapter()
Default constructor creating an internal MartyInterface.