QCDLoop
One-loop scalar Feynman integrals
Public Member Functions | List of all members
ql::Bubble< TOutput, TMass, TScale > Class Template Reference

The Bubble integral. More...

#include <bubble.h>

Inheritance diagram for ql::Bubble< TOutput, TMass, TScale >:
Inheritance graph
[legend]
Collaboration diagram for ql::Bubble< TOutput, TMass, TScale >:
Collaboration graph
[legend]

Public Member Functions

 Bubble ()
 The Constructor.
 
 ~Bubble ()
 The Destructor.
 
void integral (vector< TOutput > &res, TScale const &mu2, vector< TMass > const &m, vector< TScale > const &p)
 Computes the Bubble integral automatically. More...
 
void BB0 (vector< TOutput > &res, TScale const &mu2, TMass const &m0, TMass const &m1, TScale const &s) const
 General configuration I(s;m0,m1) More...
 
void BB1 (vector< TOutput > &res, TScale const &mu2, TMass const &m) const
 Special configuration I(m2;0,m2) More...
 
void BB2 (vector< TOutput > &res, TScale const &mu2, TMass const &m) const
 Special configuration I(0;0,m2) More...
 
void BB3 (vector< TOutput > &res, TScale const &mu2, TMass const &s) const
 Special configuration I(s;0,0) More...
 
void BB4 (vector< TOutput > &res, TScale const &mu2, TMass const &m, TScale const &s) const
 Special configuration I(s;0,m2) More...
 
void BB5 (vector< TOutput > &res, TScale const &mu2, TMass const &m0, TMass const &m1) const
 Special configuration I(0;m0,m1) More...
 
- Public Member Functions inherited from ql::Topology< TOutput, TMass, TScale >
 Topology (string name="None")
 Topology<TOutput, TMass>::Topology. More...
 
 Topology (const Topology &obj)
 Topology<TOutput, TMass>::Topology. More...
 
virtual ~Topology ()
 Topology<TOutput, TMass>::~Topology.
 
string const & getName () const
 Get topology name.
 
- Public Member Functions inherited from ql::Tools< TOutput, TMass, TScale >
 Tools ()
 The Constructor.
 
 ~Tools ()
 The Destructor.
 
bool iszero (TMass const &psq) const
 Check for zeros. More...
 
TOutput cLn (TOutput const &z, TScale const &isig) const
 Log of complex argument with explicit sign for imag part. More...
 
TOutput cLn (TScale const &x, TScale const &isig) const
 
TOutput fndd (int const &n, TOutput const &x, TScale const &iep) const
 The fndd function. More...
 
TOutput Lnrat (TOutput const &x, TOutput const &y) const
 Computes the ratio of logs. More...
 
TOutput Lnrat (TScale const &x, TScale const &y) const
 
TMass ddilog (TMass const &x) const
 Computes the dilog function for real argument. More...
 
TOutput denspence (TOutput const &z, TScale const &isig) const
 Spence's function. More...
 
TOutput spencer (TOutput const &zrat1, TOutput const &zrat2, TScale const &ieps1, TScale const &ieps2) const
 Spence's function for ratio arguments. More...
 
TOutput xspence (TOutput const (&z1)[2], TScale const (&im1)[2], TOutput const &z2, TScale const &im2) const
 Difference of complex Spence's function. More...
 
TOutput cspence (TOutput const &z1, TScale const &im1, TOutput const &z2, TScale const &im2) const
 Complex Spence's function. More...
 
TOutput Li2omrat (TScale const &x, TScale const &y) const
 Expression for dilog(1-(x-i*ep)/(y-i*ep)). More...
 
TOutput Li2omrat (TOutput const &x, TOutput const &y, TScale const &ieps1=-1, TScale const &ieps2=-1) const
 
TOutput Li2omx2 (TScale const &v, TScale const &w, TScale const &x, TScale const &y) const
 Expression for dilog(1-(v-i*ep)*(w-i*ep)/(x-i*ep)/(y-i*ep)). More...
 
TOutput Li2omx2 (TOutput const &v, TOutput const &w, TOutput const &x, TOutput const &y, TScale const &ieps1=-1, TScale const &ieps2=-1) const
 
TOutput cLi2omx2 (TOutput const &z1, TOutput const &z2, TScale const &ieps1=-1, TScale const &ieps2=-1) const
 
TOutput Li2omx (TMass const &x1, TMass const &x2, TScale const &ieps1, TScale const &ieps2) const
 Calculate Li[2](1-(x1+ieps1)*(x2+ieps2)) More...
 
TOutput cLi2omx3 (TOutput const &z1, TOutput const &z2, TOutput const &z3, TScale const &ieps1, TScale const &ieps2, TScale const &ieps3) const
 Calculate Li[2](1-(z1+ieps1)*(z2+ieps2)*(z3+ieps3)) More...
 
TOutput L0 (TMass const &x, TMass const &y) const
 
TOutput L1 (TMass const &x, TMass const &y) const
 
TOutput R3int (TOutput const &p, TOutput const &s1, TOutput const &s2, TOutput const &t1) const
 
TOutput R3int (TOutput const &p, TOutput const &s1, TOutput const &s2, TOutput const &t1, TOutput const &t2, TOutput const &t3, TOutput const &t4) const
 
TOutput R2int (TOutput const &a, TOutput const &b, TOutput const &y0) const
 
TOutput Rint (TOutput const &y, TOutput const &z, TScale const &ieps) const
 
void R (TOutput &r, TOutput &d, TOutput const &q) const
 Tools<TOutput, TMass, TScale>::R. More...
 
TOutput Zlogint (TOutput const &z, TScale const &ieps) const
 Tools<TOutput, TMass, TScale>::qlZlogint. More...
 
TOutput ltspence (int const &i_in, TOutput const &z_in, TScale const &s) const
 
TOutput li2series (TOutput const &z, TScale const &isig) const
 
TOutput ltli2series (TOutput const &z1, TScale const &s) const
 
TOutput eta2 (TOutput const &a, TOutput const &b) const
 
TOutput eta3 (TOutput const &a, TOutput const &b, TOutput const &c) const
 
TOutput eta5 (TOutput const &a, TOutput const &b, TOutput const &c, TOutput const &d, TOutput const &e) const
 
TOutput xetatilde (TOutput const (&z1)[2], TScale const (&im1)[2], TOutput const &z2, TScale const &im2, TOutput const (&l1)[2]) const
 
TOutput xeta (TOutput const (&z1)[2], TScale const (&im1)[2], TOutput const &z2, TScale const &im2, TScale const &im12, TOutput const (&l1)[2]) const
 
int eta (TOutput const &z1, TScale const &s1, TOutput const &z2, TScale const &s2, TScale const &s12) const
 
int etatilde (TOutput const &c1, TScale const &im1x, TOutput const &c2, TScale const &im2x) const
 
void kfn (TOutput(&res)[3], TScale &ieps, TMass const &xpi, TMass const &xm, TMass const &xmp) const
 The K-function. More...
 
void solveabc (TMass const &a, TMass const &b, TMass const &c, TOutput(&z)[2]) const
 Solution of the quadratic equation. More...
 
void solveabcd (TOutput const &a, TOutput const &b, TOutput const &c, TOutput const &d, TOutput(&z)[2]) const
 Solution of the quadratic equation passing the discriminant. More...
 
void solveabcd (TOutput const &a, TOutput const &b, TOutput const &c, TOutput(&z)[2]) const
 
void ratgam (TOutput &ratp, TOutput &ratm, TScale &ieps, TMass const &p3sq, TMass const &m3sq, TMass const &m4sq) const
 Ratio function. More...
 
void ratreal (TMass const &si, TMass const &ta, TMass &rat, TScale &ieps) const
 Ratio function. More...
 
- Public Member Functions inherited from ql::LRUCache< size_t, vector< TOutput > >
 LRUCache (int const &size=1)
 LRUCache constructor. More...
 
 LRUCache (const LRUCache &obj)
 
void setCacheSize (int const &size)
 Set the Cache size.
 
int const & getCacheSize () const
 Get the Cache size.
 
void store (size_tconst &key, vector< TOutput >const &value)
 Store the cached data.
 
bool get (size_tconst &key, vector< TOutput > &out)
 Get the cached data.
 

Additional Inherited Members

- Public Types inherited from ql::LRUCache< size_t, vector< TOutput > >
typedef std::pair< size_t, vector< TOutput > > key_value_pair_t
 
typedef std::list< key_value_pair_t >::iterator list_iterator_t
 
- Protected Member Functions inherited from ql::Topology< TOutput, TMass, TScale >
bool checkCache (TScale const &, vector< TMass > const &, vector< TScale > const &)
 < Check stored cached results More...
 
void storeCache (TScale const &, vector< TMass > const &, vector< TScale > const &)
 Topology<TOutput, TMass>::storeCache.
 
- Protected Attributes inherited from ql::Topology< TOutput, TMass, TScale >
string _name
 
size_t _key
 
TScale _mu2
 
vector< TMass > _m
 
vector< TScale > _p
 
vector< TOutput > _val
 
ContainerHasher< TMass, TScale > * _ch
 
- Protected Attributes inherited from ql::Tools< TOutput, TMass, TScale >
TScale _pi
 
TScale _pi2
 
TScale _pio3
 
TScale _pio6
 
TScale _pi2o3
 
TScale _pi2o6
 
TScale _pi2o12
 
TScale _zero
 
TScale _half
 
TScale _one
 
TScale _two
 
TScale _three
 
TScale _four
 
TScale _five
 
TScale _six
 
TScale _ten
 
TScale _eps
 
TScale _eps4
 
TScale _eps7
 
TScale _eps10
 
TScale _eps14
 
TScale _eps15
 
TScale _xloss
 
TScale _neglig
 
TScale _reps
 
TOutput _2ipi
 
TOutput _ipio2
 
TOutput _ipi
 
TOutput _czero
 
TOutput _chalf
 
TOutput _cone
 
TOutput _ctwo
 
TOutput _cthree
 
TOutput _cfour
 
TOutput _ieps
 
TOutput _ieps2
 
TOutput _ieps50
 

Detailed Description

template<typename TOutput = complex, typename TMass = double, typename TScale = double>
class ql::Bubble< TOutput, TMass, TScale >

The Bubble integral.

Parses automatically the topology and computes the integral

Member Function Documentation

template<typename TOutput , typename TMass , typename TScale >
void ql::Bubble< TOutput, TMass, TScale >::BB0 ( vector< TOutput > &  res,
TScale const &  mu2,
TMass const &  m0,
TMass const &  m1,
TScale const &  s 
) const

General configuration I(s;m0,m1)

The integral is defined as in the general case but with the first term:

\[ I_{2}(s; m_0^2, m_1^2) = \Delta + 2 - \ln \left( \frac{m_0 m_1}{m_0^2} \right) + \frac{m_0^2-m_1^2}{s} \ln \left(\frac{m_1}{m_0} \right) - \frac{m_0 m_1}{s} \left(\frac{1}{r}-r \right) \ln r \]

with

\[ x^2 + \frac{m_0^2 + m_1^2 - s - i \epsilon}{m_0 m_1} +1 = (x+r)\left(x+\frac{1}{r} \right) \]

Implementation of the formulae of Denner and Dittmaier [7].

Returns
the output object res[0,1,2] the coefficients in the Laurent series
Parameters
mu2is the squre of the scale mu
m0is the square of the first mass of the internal line
m1is the square of the second mass of the internal line
sis the square of the four-momentum external line
template<typename TOutput , typename TMass , typename TScale >
void ql::Bubble< TOutput, TMass, TScale >::BB1 ( vector< TOutput > &  res,
TScale const &  mu2,
TMass const &  m 
) const

Special configuration I(m2;0,m2)

The integral is defined as:

\[ I_{2}^{D=4-2 \epsilon}(m^2; 0, m^2)=\left( \frac{\mu^{2}}{m^{2}} \right)^{\epsilon} \left[ \frac{1}{\epsilon} + 2 \right] + O(\epsilon) \]

Implementation of the formulae of Denner and Dittmaier [5].

Returns
the output object res[0,1,2] the coefficients in the Laurent series
Parameters
mu2is the squre of the scale mu
mis the squares of the mass of the internal line
template<typename TOutput , typename TMass , typename TScale >
void ql::Bubble< TOutput, TMass, TScale >::BB2 ( vector< TOutput > &  res,
TScale const &  mu2,
TMass const &  m 
) const

Special configuration I(0;0,m2)

The integral is defined as:

\[ I_{2}^{D=4-2 \epsilon}(0; 0, m^2)= \left( \frac{\mu^{2}}{m^{2}} \right)^{\epsilon} \left[ \frac{1}{\epsilon} + 1 \right] + O(\epsilon) \]

Implementation of the formulae of Denner and Dittmaier [5].

Returns
the output object res[0,1,2] the coefficients in the Laurent series
Parameters
mu2is the squre of the scale mu
mis the squares of the mass of the internal line
template<typename TOutput , typename TMass , typename TScale >
void ql::Bubble< TOutput, TMass, TScale >::BB3 ( vector< TOutput > &  res,
TScale const &  mu2,
TMass const &  s 
) const

Special configuration I(s;0,0)

The integral is defined as:

\[ I_{2}^{D=4-2 \epsilon}(s; 0, 0)= \left( \frac{\mu^{2}}{-s-i \epsilon} \right)^{\epsilon} \left[ \frac{1}{\epsilon} + 2 \right] + O(\epsilon) \]

Implementation of the formulae of Denner and Dittmaier [5].

Returns
the output object res[0,1,2] the coefficients in the Laurent series
Parameters
mu2is the squre of the scale mu
sis the four-momentum squared of the external line
template<typename TOutput , typename TMass , typename TScale >
void ql::Bubble< TOutput, TMass, TScale >::BB4 ( vector< TOutput > &  res,
TScale const &  mu2,
TMass const &  m,
TScale const &  s 
) const

Special configuration I(s;0,m2)

The integral is defined as:

\[ I_{2}^{D=4-2 \epsilon}(s; 0, m^2)= \left( \frac{\mu^{2}}{m^2} \right)^{\epsilon} \left[ \frac{1}{\epsilon} + 2 + \frac{m^2-s}{s} \ln \left( \frac{m^2-s-i \epsilon}{m^2} \right) \right] + O(\epsilon) \]

Implementation of the formulae of Denner and Dittmaier [5].

Returns
the output object res[0,1,2] the coefficients in the Laurent series
Parameters
mu2is the squre of the scale mu
mis the squares of the mass of the internal line
sis the four-momentum squared of the external line
template<typename TOutput , typename TMass , typename TScale >
void ql::Bubble< TOutput, TMass, TScale >::BB5 ( vector< TOutput > &  res,
TScale const &  mu2,
TMass const &  m0,
TMass const &  m1 
) const

Special configuration I(0;m0,m1)

The integral is defined as in the general case but with the first term:

\[ I_{2}^{\epsilon=0}(0; m_0^2, m_1^2) = \ln \left( \frac{\mu}{m_0^2} \right) - f_0 \left( \frac{m0}{m0-m1} \right) \]

Implementation of the formulae of Denner and Dittmaier [5].

Returns
the output object res[0,1,2] the coefficients in the Laurent series
Parameters
mu2is the squre of the scale mu
m0is the square of the first mass of the internal line
m1is the square of the second mass of the internal line
template<typename TOutput , typename TMass , typename TScale >
void ql::Bubble< TOutput, TMass, TScale >::integral ( vector< TOutput > &  res,
TScale const &  mu2,
vector< TMass > const &  m,
vector< TScale > const &  p 
)
virtual

Computes the Bubble integral automatically.

The integral is defined as:

\[ I_{2}^{D=4-2 \epsilon}(p^2; m_1^2, m_2^2)= \mu^{2 \epsilon} \left[ \frac{1}{\epsilon} - \int_{0}^{1} da \ln (-a (1-a) p^2 + am_{2}^2 + (1-a) m_{1}^{2} - i \epsilon ) \right] + O(\epsilon) \]

Implementation of the formulae of Denner and Dittmaier [5].

Parameters
resoutput object res[0,1,2] the coefficients in the Laurent series
mu2is the squre of the scale mu
mare the squares of the masses of the internal lines
pare the four-momentum squared of the external lines

Implements ql::Topology< TOutput, TMass, TScale >.


The documentation for this class was generated from the following files: