Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
SUSYParametersHelper.h
Go to the documentation of this file.
1#ifndef SUSY_PARAMETERS_HELPER_H
2#define SUSY_PARAMETERS_HELPER_H
3
4#include <algorithm>
5#include <array>
6#include <functional>
7
8#include "Math.h"
9#include "Logger.h"
10#include "ParameterProxy.h"
11#include "WilsonParamComposer.h"
12#include "IWilsonParameters.h"
13
38constexpr double Pi = 3.14159265358979323846;
39
40constexpr int N_UL_UR = 7, M_UL_UR = 4, N_NL_NR = 4, M_NL_NR = 4, N_Gamma_U = 7, M_Gamma_U = 7, N_X = 3, N_Mch = 3, N_MsqU = 6, N_MsqD = 6, N_Msn = 4;
41
42using Array2D_7x4 = std::array<std::array<double, M_UL_UR>, N_UL_UR>;
43using Array2D_4x4 = std::array<std::array<double, M_NL_NR>, N_NL_NR>;
44using Array2D_7x7 = std::array<std::array<double, M_Gamma_U>, N_Gamma_U>;
45using Array3D_3x7x4 = std::array<Array2D_7x4, N_X>;
46using Array1D_4 = std::array<double, 4>;
47using Array1D_3 = std::array<double, N_Mch>;
48using Array1D_7 = std::array<double, N_MsqU>;
49using Array2D_4x4_I = std::array<std::array<complex_t, M_NL_NR>, N_NL_NR>;
50
62public:
67 SUSYParameterHelper(std::shared_ptr<IBlockComposer> iblock_c) : IWilsonParameterHelper(iblock_c) {}
68
77 void init(int gen, WGroupId grp) override;
78
82 void cleanup() override {}
83
84protected:
85 void init_epsilon_block();
86
90 void init_scale_independent_block(int gen) override;
91
95 void init_matching_block() override;
96
100 void init_running_block(WGroupId) override {};
101};
102
103#endif
Concrete IParameterProxy backed by ParameterProvider / Parameters.
constexpr int N_MsqD
constexpr int M_NL_NR
std::array< double, 4 > Array1D_4
constexpr int N_Gamma_U
constexpr int M_UL_UR
constexpr int N_X
constexpr int N_MsqU
std::array< std::array< double, M_UL_UR >, N_UL_UR > Array2D_7x4
std::array< std::array< complex_t, M_NL_NR >, N_NL_NR > Array2D_4x4_I
std::array< std::array< double, M_Gamma_U >, N_Gamma_U > Array2D_7x7
constexpr int N_Mch
constexpr double Pi
std::array< double, N_Mch > Array1D_3
std::array< Array2D_7x4, N_X > Array3D_3x7x4
std::array< double, N_MsqU > Array1D_7
constexpr int N_Msn
std::array< std::array< double, M_NL_NR >, N_NL_NR > Array2D_4x4
constexpr int N_UL_UR
constexpr int N_NL_NR
constexpr int M_Gamma_U
Block composer specialized for the Wilson parameter scope.
std::shared_ptr< IBlockComposer > iblock_c
Block composer (dependency engine) used to register dependent blocks.
void cleanup() override
Cleans up internal state and/or unregisters blocks if applicable.
void init_scale_independent_block(int gen) override
Builds SUSY scale-independent helper blocks.
void init_matching_block() override
Builds SUSY matching-scale helper blocks.
void init_running_block(WGroupId) override
Builds SUSY running-scale helper blocks.
SUSYParameterHelper(std::shared_ptr< IBlockComposer > iblock_c)
Constructs the helper.
void init(int gen, WGroupId grp) override
Initializes SUSY-specific helper blocks.
Returns an uppercase copy of the input string.