Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
IMartyWilsonAdapter.h
Go to the documentation of this file.
1#ifndef IMARTY_WILSON_ADAPTER_H
2#define IMARTY_WILSON_ADAPTER_H
3
4#include <string>
5#include <set>
6#include <unordered_set>
7#include <utility>
8
34template<typename T>
36public:
37 virtual ~IMartyWilsonAdapter() = default;
38
50 virtual void calculate(std::string wilson, std::string model, double Q_match, std::string model_path) = 0;
51
55 virtual void calculate(std::string wilson,
56 std::string output_model,
57 std::string target_model,
58 double Q_match,
59 std::string model_path,
60 bool sm_like_filter,
61 bool bsm_split_generation = false,
62 bool full_target_generation = false) = 0;
63
65 virtual std::string calculate_isolated(std::string wilson,
66 std::string output_model,
67 std::string target_model,
68 double Q_match,
69 std::string model_path,
70 bool sm_like_filter,
71 bool bsm_split_generation = false,
72 bool full_target_generation = false) {
74 std::move(wilson),
75 std::move(output_model),
76 std::move(target_model),
77 Q_match,
78 std::move(model_path),
79 sm_like_filter,
80 bsm_split_generation,
81 full_target_generation
82 );
83 return {};
84 }
85
92 virtual std::set<std::string> get_special_blocks() = 0;
93
103 virtual std::unordered_set<T> get_dependencies(std::string wilson) = 0;
104
105
106};
107
108#endif
Interface for model/Wilson adapters built on MARTY.
virtual std::unordered_set< T > get_dependencies(std::string wilson)=0
Returns the set of dependencies for a given Wilson basis.
virtual void calculate(std::string wilson, std::string model, double Q_match, std::string model_path)=0
Triggers a full calculation for a given Wilson basis and model.
virtual ~IMartyWilsonAdapter()=default
virtual std::set< std::string > get_special_blocks()=0
Returns the set of block names requiring special handling.
virtual 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)
virtual 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)=0
Triggers a calculation where output label and model class differ.