GM2Calc 2.3.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
gm2_2loop_c.cpp
Go to the documentation of this file.
1/* ====================================================================
2 * This file is part of GM2Calc.
3 *
4 * GM2Calc 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 * GM2Calc 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 GM2Calc. If not, see
16 * <http://www.gnu.org/licenses/>.
17 * ==================================================================== */
18
19#include "gm2calc/gm2_2loop.h"
20#include "gm2calc/gm2_2loop.hpp"
21
22#include <limits>
23
24/**
25 * @file gm2_2loop_c.cpp
26 * @brief contains definitions of C interface functions for 2-loop calculation
27 *
28 * This file contains the definitions for the C interface functions
29 * used to calculate \f$a_\mu\f$ at the 2-loop level.
30 */
31
32extern "C" {
33
34/** calculates 2-loop contributions to a_mu in the general THDM */
36{
37 double amu = std::numeric_limits<double>::quiet_NaN();
38
39 try {
41 *reinterpret_cast<const gm2calc::THDM*>(model));
42 } catch (...) {}
43
44 return amu;
45}
46
47/** calculates fermionic 2-loop contributions to a_mu in the general THDM */
49{
50 double amu = std::numeric_limits<double>::quiet_NaN();
51
52 try {
54 *reinterpret_cast<const gm2calc::THDM*>(model));
55 } catch (...) {}
56
57 return amu;
58}
59
60/** calculates bosonic 2-loop contributions to a_mu in the general THDM */
62{
63 double amu = std::numeric_limits<double>::quiet_NaN();
64
65 try {
67 *reinterpret_cast<const gm2calc::THDM*>(model));
68 } catch (...) {}
69
70 return amu;
71}
72
73} /* extern "C" */
double gm2calc_thdm_calculate_amu_2loop_bosonic(const gm2calc_THDM *model)
calculates bosonic 2-loop contributions to a_mu in the general THDM
double gm2calc_thdm_calculate_amu_2loop_fermionic(const gm2calc_THDM *model)
calculates fermionic 2-loop contributions to a_mu in the general THDM
double gm2calc_thdm_calculate_amu_2loop(const gm2calc_THDM *model)
calculates 2-loop contributions to a_mu in the general THDM
Contains routines to determine the THDM parameters.
Definition THDM.hpp:98
contains declarations of C interface functions for 2-loop calculation
struct gm2calc_THDM gm2calc_THDM
double calculate_amu_2loop_bosonic(const THDM &model)
Calculates 2-loop bosonic contribution to a_mu in the THDM.
Definition gm2_2loop.cpp:31
double calculate_amu_2loop(const MSSMNoFV_onshell &model)
Calculates best 2-loop SUSY contribution to a_mu with tan(beta) resummation.
double calculate_amu_2loop_fermionic(const THDM &model)
Calculates fermionic 2-loop contribution to a_mu in the THDM.
Definition gm2_2loop.cpp:57