v1.0
a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models
ClausenFunctions.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2012 HEPfit Collaboration
3
*
4
*
5
* For the licensing terms see doc/COPYING.
6
*/
7
8
#include <cstdlib>
9
#include <stdexcept>
10
#include <cmath>
11
#include <gsl/gsl_sf.h>
12
#include "
ClausenFunctions.h
"
13
14
15
ClausenFunctions::ClausenFunctions
()
16
{
17
}
18
20
21
double
ClausenFunctions::Cl2
(
const
double
phi)
const
22
{
23
return
( gsl_sf_clausen(phi) );
24
}
25
26
double
ClausenFunctions::Cl3
(
const
double
phi)
const
27
{
28
if
(phi < 0.0 || phi > M_PI)
29
throw
std::runtime_error(
"ClausenFunctions::Cl3(): phi is out of range!"
);
30
31
if
(phi==0.0)
return
( gsl_sf_zeta_int(3) );
32
33
double
TMP = 0.0, l_double = 0.0, lfactorial = 1.0, sign = 1.0;
34
for
(
int
l=2; l<19; l++) {
35
l_double = (double)l;
36
lfactorial *= l_double;
37
if
(l%4) { sign = - 1.0; }
else
{ sign = 1.0; }
38
TMP +=
B
[l]*
pow
(phi,l_double)/l_double/(l_double + 1.0)/(l_double + 2.0)
39
/lfactorial * sign;
40
}
41
return
( gsl_sf_zeta_int(3) - phi*phi*(3.0/4.0 -
log
(phi)/2.0 - TMP) );
42
}
43
44
ClausenFunctions::ClausenFunctions
ClausenFunctions()
The default constructor.
Definition:
ClausenFunctions.cpp:15
gslpp::log
complex log(const complex &z)
Definition:
gslpp_complex.cpp:342
ClausenFunctions.h
ClausenFunctions::Cl3
double Cl3(const double phi) const
The Clausen function of index 3, .
Definition:
ClausenFunctions.cpp:26
BernoulliNumbers::B
double B[19]
the Bernoulli numbers
Definition:
BernoulliNumbers.h:37
ClausenFunctions::Cl2
double Cl2(const double phi) const
The Clausen function of index 2, .
Definition:
ClausenFunctions.cpp:21
gslpp::pow
complex pow(const complex &z1, const complex &z2)
Definition:
gslpp_complex.cpp:395
LoopFunctions
src
ClausenFunctions.cpp
Generated on Thu Oct 31 2019 for $\texttt{HEPfit}$ using
1.8.16