forked from Expander/FlexibleSUSY
/
semi_analytic_model.hpp.in
78 lines (65 loc) · 2.6 KB
/
semi_analytic_model.hpp.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// ====================================================================
// This file is part of FlexibleSUSY.
//
// FlexibleSUSY is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published
// by the Free Software Foundation, either version 3 of the License,
// or (at your option) any later version.
//
// FlexibleSUSY is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with FlexibleSUSY. If not, see
// <http://www.gnu.org/licenses/>.
// ====================================================================
// File generated at @DateAndTime@
/**
* @file @ModelName@_semi_analytic_model.hpp
* @brief contains class for model with routines needed to solve boundary
* value problem using the semi_analytic solver by solving EWSB
* and determine the pole masses and mixings
*
* This file was generated at @DateAndTime@ with FlexibleSUSY
* @FlexibleSUSYVersion@ (git commit: @FlexibleSUSYGitCommit@) and SARAH @SARAHVersion@ .
*/
#ifndef @ModelName@_SEMI_ANALYTIC_MODEL_H
#define @ModelName@_SEMI_ANALYTIC_MODEL_H
#include "@ModelName@_model.hpp"
#include "@ModelName@_mass_eigenstates.hpp"
#include "model.hpp"
namespace flexiblesusy {
class Semi_analytic;
/**
* @class @ModelName@<Semi_analytic>
* @brief model class with routines for determining masses and mixings and EWSB
*/
template<>
class @ModelName@<Semi_analytic> : public Model, public @ModelName@_mass_eigenstates {
public:
explicit @ModelName@(const @ModelName@_input_parameters& input_ = @ModelName@_input_parameters());
@ModelName@(const @ModelName@&) = default;
@ModelName@(@ModelName@&&) = default;
virtual ~@ModelName@();
@ModelName@& operator=(const @ModelName@&) = default;
@ModelName@& operator=(@ModelName@&&) = default;
// interface functions
virtual void calculate_spectrum();
virtual void clear_problems();
virtual std::string name() const;
virtual void run_to(double scale, double eps = -1.0);
virtual void print(std::ostream& out = std::cout) const;
virtual void set_precision(double);
@setBoundaryValueParameters@
void calculate_coefficients(double);
private:
// semi-analytic solution coefficients
@semiAnalyticSolutionsDefs@
// boundary values
@boundaryValuesDefs@
};
std::ostream& operator<<(std::ostream&, const @ModelName@<Semi_analytic>&);
} // namespace flexiblesusy
#endif