Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
IWilsonParameters.h
Go to the documentation of this file.
1#ifndef IWILSON_PARAMETERS_H
2#define IWILSON_PARAMETERS_H
3
4#include <memory>
5
6#include "wgroup_ids.hpp"
7
9
36public:
41 IWilsonParameterHelper(std::shared_ptr<IBlockComposer> iblock_c) : iblock_c(iblock_c) {}
42
43 virtual ~IWilsonParameterHelper() = default;
44
54 virtual void init(int gen, WGroupId grp) = 0;
55
61 virtual void cleanup() = 0;
62
66 bool is_init() const {return initialized;}
67
68protected:
72 virtual void init_scale_independent_block(int gen) = 0;
73
77 virtual void init_matching_block() = 0;
78
82 virtual void init_running_block(WGroupId grp) = 0;
83
85 std::shared_ptr<IBlockComposer> iblock_c;
86
88 bool initialized{false};
89};
90
91#endif
Abstract interface for composing dependent blocks and parameters.
virtual void init_running_block(WGroupId grp)=0
Builds running-scale dependent Wilson helper blocks.
bool initialized
Tracks whether the helper has already been initialized.
bool is_init() const
Returns whether init() has already been successfully called.
virtual void init_matching_block()=0
Builds matching-scale dependent Wilson helper blocks.
virtual void init(int gen, WGroupId grp)=0
Initializes all required helper blocks.
virtual void init_scale_independent_block(int gen)=0
Builds scale-independent Wilson helper blocks (generation-dependent).
virtual ~IWilsonParameterHelper()=default
IWilsonParameterHelper(std::shared_ptr< IBlockComposer > iblock_c)
Constructs the helper using a block composer.
virtual void cleanup()=0
Cleans up internal state and/or unregisters dependent blocks (if applicable).
std::shared_ptr< IBlockComposer > iblock_c
Block composer (dependency engine) used to register dependent blocks.
Returns an uppercase copy of the input string.