flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
loop_library.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 LOOP_LIBRARY_H
20#define LOOP_LIBRARY_H
21
23#include <memory>
24
25namespace flexiblesusy
26{
27
29{
30public:
31 enum class Library { Undefined, Softsusy, Collier, Looptools, Fflite };
32 static void set(int);
33 static Library get_type();
35
36private:
37 static Library type_;
38 static std::unique_ptr<looplibrary::Loop_library_interface> lib_;
39 static void set_default();
40
43 void operator=(Loop_library const&);
44};
45
46} // namespace flexiblesusy
47
48#endif // LOOP_LIBRARY_H
void operator=(Loop_library const &)
static looplibrary::Loop_library_interface & get()
Loop_library(Loop_library const &)
static std::unique_ptr< looplibrary::Loop_library_interface > lib_
interface for different one loop function libraries with conventions of DE == [arXiv:0709....