Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
WilsonBuilder.h
Go to the documentation of this file.
1#ifndef WILSONBUILDER_H
2#define WILSONBUILDER_H
3
4#include <memory>
5
6#include "IWilsonBuilder.h"
7#include "WilsonProvider.h"
8#include "Include.h"
9#include "WilsonManager.h"
10#include "Configs.h"
11#include "WilsonParamComposer.h"
12#include "ScaleSetter.h"
14#include "ModelAPI.h"
15#include "UseMarty.h"
16#include "HasWilsonAPI.h"
19#include "MartyWilsonProxy.h"
20#include "MartyModelNameAPI.h"
21#include "MartyModelPathAPI.h"
23#include "SMFromHypProxy.h"
24#include "CustomWilsonLambda.h"
25
61class WilsonBuilder : public IWilsonBuilder<WilsonBuildConfig, WilsonProvider>, public std::enable_shared_from_this<WilsonBuilder> {
62public:
67
71 WilsonBuilder(std::shared_ptr<CoefficientManager> manager);
72
87 void build(WilsonBuildConfig config) override;
88
102 void add(WilsonBuildConfig config) override;
103
115 void add_custom_group(const CustomWilsonGroupConfig& config);
116
120 void add_matching_patch(const WilsonMatchingPatch& patch);
121
125 void add_matching_patches(const std::vector<WilsonMatchingPatch>& patches);
126
132 std::shared_ptr<WilsonProvider> get_wilson_provider();
133
137 std::shared_ptr<CoefficientManager> get_coefficient_manager();
138
139private:
146 std::map<Model, std::shared_ptr<IWilsonParameterHelper>> wilson_param_helpers;
147
149 std::shared_ptr<CoefficientManager> cm;
150
157 std::shared_ptr<WilsonGroupAdapterConfig> current_group_adapters;
158
160 std::shared_ptr<IMartyWilsonPathProxy> current_marty_paths;
161};
162
163#endif // IWILSONBUILDER_H
Configuration structures used to control Wilson coefficient computations, strong coupling evaluations...
High-level configuration helpers for user-defined Wilson groups and coefficients.
Core API exposing whether Wilson coefficients are provided as user inputs.
Core API exposing the active MARTY model name.
Core API exposing the filesystem path to the MARTY model file.
Core-side adapter exposing MemoryManager-managed MARTY paths to Wilson.
Concrete proxy for Wilson coefficient calculations via MARTY.
Core API exposing the currently active physics model.
Core API exposing whether Hyperiso should provide the SM part when using Marty.
SUSY-specific implementation of IWilsonParameterHelper.
Concrete setter for Wilson scale parameters.
Wilson helper blocks specialized for the THDM model.
Core API indicating whether the MARTY backend is active.
High-level orchestration of Wilson coefficient groups (matching + running/hadronic).
Block composer specialized for the Wilson parameter scope.
High-level factory assembling a complete Wilson computation pipeline.
void add(WilsonBuildConfig config) override
Add additional Wilson groups to an existing manager.
void add_matching_patches(const std::vector< WilsonMatchingPatch > &patches)
Add several additive matching patches to the active Wilson manager.
void build(WilsonBuildConfig config) override
Build a new Wilson pipeline from scratch.
std::shared_ptr< CoefficientManager > get_coefficient_manager()
Returns the underlying coefficient manager.
void add_matching_patch(const WilsonMatchingPatch &patch)
Add one additive matching patch to the active Wilson manager.
void add_custom_group(const CustomWilsonGroupConfig &config)
Register and initialize a user-defined Wilson group built from lambdas.
std::shared_ptr< WilsonProvider > get_wilson_provider()
Returns a provider facade around this builder.
Configuration of a user-defined Wilson group built from lambdas.
Configuration for building sets of Wilson coefficients.
Definition Configs.h:32