flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
spectrum_generator_settings.hpp
Go to the documentation of this file.
1// ====================================================================
2// This file is part of FlexibleSUSY.
3//
4// FlexibleSUSY is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published
6// by the Free Software Foundation, either version 3 of the License,
7// or (at your option) any later version.
8//
9// FlexibleSUSY is distributed in the hope that it will be useful, but
10// WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12// General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with FlexibleSUSY. If not, see
16// <http://www.gnu.org/licenses/>.
17// ====================================================================
18
19#ifndef SPECTRUM_GENERATOR_SETTINGS_H
20#define SPECTRUM_GENERATOR_SETTINGS_H
21
23#include "loop_corrections.hpp"
24#include <array>
25#include <iosfwd>
26#include <string>
27#include <Eigen/Core>
28
29namespace flexiblesusy {
30
39public:
41 enum Settings : int {
76 };
77
78 using Settings_t = Eigen::Array<double,NUMBER_OF_OPTIONS,1>;
79
81
82 double get(Settings) const;
83 Settings_t get() const;
84 std::string get_description(Settings) const;
85 void set(Settings, double);
86 void set(const Settings_t&);
87 void reset();
88
93
94private:
95 std::array<double, NUMBER_OF_OPTIONS> values;
96};
97
98std::ostream& operator<<(std::ostream&, const Spectrum_generator_settings&);
99
100} // namespace flexiblesusy
101
102#endif
stores the spectrum generator settings
Eigen::Array< double, NUMBER_OF_OPTIONS, 1 > Settings_t
void reset()
resets all settings to their defaults
void set_threshold_corrections(const Threshold_corrections &)
std::string get_description(Settings) const
get description of spectrum generator setting
@ pole_mass_loop_order
[4] loop-order for calculation of pole masses
@ eft_matching_loop_order_down
[21] loop order at which lambda of the SM is calculated from the full model parameters at the matchin...
@ eft_matching_scale
[19] renormalization scale at which the EFT is matched to the full model
@ top_pole_qcd_corrections
[13] Top-quark pole mass QCD corrections
@ eft_pole_mass_scale
[18] renormalization scale at which the pole masses are calculated in the EFT
@ pole_mass_scale
[17] renormalization scale at which the pole masses are calculated
@ higgs_2loop_correction_at_as
[8] Higgs 2-loop correction O(alpha_t alpha_s)
@ higgs_3loop_ren_scheme_atb_as2
[25] Renormalization scheme for Higgs 3-loop corrections O(alpha_t alpha_s^2 + alpha_b alpha_s^2)
@ threshold_corrections_loop_order
[7] threshold corrections loop order
@ ewsb_loop_order
[5] loop-order for solving the EWSB eqs.
@ force_positive_masses
[16] force positive masses of majoran fermions
@ calculate_sm_masses
[3] calculate Standard Model pole masses
@ higgs_2loop_correction_ab_as
[9] Higgs 2-loop correction O(alpha_b alpha_s)
@ max_iterations
[1] maximum number of iterations (0 = automatic)
@ higgs_2loop_correction_at_at
[10] Higgs 2-loop correction O(alpha_t alpha_t + alpha_t alpha_b + alpha_b alpha_b)
@ solver
[2] RG solver algorithm (0 = two-scale)
@ higgs_4loop_correction_at_as3
[30] Higgs 4-loop correction O(alpha_t alpha_s^3)
@ higgs_3loop_correction_ab_as2
[27] Higgs 3-loop correction O(alpha_b alpha_s^2)
@ eft_matching_loop_order_up
[20] loop order at which the gauge and Yukawa couplings of the full model are calculated from the EFT...
@ higgs_3loop_correction_at3
[29] Higgs 3-loop correction O(alpha_t^3)
@ higgs_2loop_correction_atau_atau
[11] Higgs 2-loop correction O(alpha_tau alpha_tau)
@ higgs_3loop_correction_at_as2
[26] Higgs 3-loop correction O(alpha_t alpha_s^2)
@ threshold_corrections
[24] individual threshold correction loop orders
@ eft_higgs_index
[22] index of SM-Higgs in Higgs multiplet
@ beta_zero_threshold
[14] beta function zero threshold
@ higgs_3loop_correction_at2_as
[28] Higgs 3-loop correction O(alpha_t^2 alpha_s)
void set(Settings, double)
set value of spectrum generator setting
std::array< double, NUMBER_OF_OPTIONS > values
spectrum generator settings
Settings_t get() const
get all spectrum generator settings
contains struct for selection of loop corrections from the literature
std::ostream & operator<<(std::ostream &ostr, const Dynamic_array_view< ElementType > &av)
Definition: array_view.hpp:143
contains struct for selection of low-energy threshold correction loop orders