Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

partondistribution Class Reference

#include <partondistribution.h>

Inheritance diagram for partondistribution:

partondistribution_with_qed List of all members.

Public Member Functions

 partondistribution (void)
 partondistribution (int n, double Q0, double A[], double alpha[], double beta[], int eta=1)
 partondistribution (int n, double Q0, const std::valarray< double > &A, const std::valarray< double > &alpha, const std::valarray< double > &beta, int eta=1)
double get_Q0 (void) const
int get_eta (void) const
complex_d get_Mellin_transform (complex_d z) const
double get_F (double x, double z) const
double get_dF (double x, double z) const
double get_ddF (double x, double z) const
double get_dddF (double x, double z) const
double get_c0 (double x) const
virtual bool with_qed (void) const
virtual double get_electric_charge (void) const

Protected Attributes

int n
double Q0
std::valarray< double > A
std::valarray< double > alpha
std::valarray< double > beta
int eta

Private Member Functions

double root_safeI (double a, double b, double x) const

Friends

partondistribution operator+ (const partondistribution &f1, const partondistribution &f2)

Detailed Description

The class partondistribution represents the parameterization of a parton distribution in the form

\[ x f(x,Q_0^2) = \sum\limits_{i=0}^{n-1} A_i x^{\alpha_i} (1-x)^{\beta_i} \]

In addition this class has a data member $\eta = \pm 1$, which selects odd or even moments for the evolution. The default value for $\eta$ in the constructor is $+1$, which is good for the singlet distributions and non-singlet non-valence distributions like

\[ (u+\bar{u}) - ( d + \bar{d} ), \]

\[ (u+\bar{u}) + ( d + \bar{d} ) - 2 ( s + \bar{s} ), ... \]

Valence non-singlet distributions like

\[ (u-\bar{u}), (d - \bar{d}), ... \]

need $\eta=-1$, which has to passed explicitly to the constructor.


Constructor & Destructor Documentation

partondistribution void   ) 
 

Default constructor

partondistribution int  nr,
double  Q0r,
double  Ar[],
double  alphar[],
double  betar[],
int  etar = 1
 

Standard constructor

partondistribution int  nr,
double  Q0r,
const std::valarray< double > &  Ar,
const std::valarray< double > &  alphar,
const std::valarray< double > &  betar,
int  etar = 1
 

Standard constructor from valarray


Member Function Documentation

double get_c0 double  x  )  const
 

Returns for fixed $x$ the position of the minimum in the $z$-plane of the function

\[ F(x,z) = x^{-z} \sum\limits_{i=0}^{n-1} A_i B(z+\alpha_i-1,1+\beta_i). \]

on the real axis right to the rightmost pole.

double get_dddF double  x,
double  z
const
 

Evaluates

\[ \frac{d^3}{dz^3} F(x,z) = \sum\limits_{i=0}^{n-1} \left( G_i''' + 3 G_i'' G_i' + G_i'^3 \right) F_i \]

where

\[ G_i''' = \Psi''(z+\alpha_i-1) - \Psi''(z+\alpha_i+\beta_i) \]

double get_ddF double  x,
double  z
const
 

Evaluates

\[ \frac{d^2}{dz^2} F(x,z) = \sum\limits_{i=0}^{n-1} \left( G_i'' + G_i'^2 \right) F_i \]

where

\[ G_i'' = \Psi'(z+\alpha_i-1) - \Psi'(z+\alpha_i+\beta_i) \]

double get_dF double  x,
double  z
const
 

Evaluates

\[ \frac{d}{dz} F(x,z) = \sum\limits_{i=0}^{n-1} G_i' F_i \]

where

\[ F_i = x^{-z} A_i B(z+\alpha_i-1,1+\beta_i), \]

\[ G_i = \ln \left( x^{-z} B(z+\alpha_i-1,1+\beta_i) \right) \]

\[ G_i' = -\ln x + \Psi(z+\alpha_i-1) - \Psi(z+\alpha_i+\beta_i) \]

virtual double get_electric_charge void   )  const [inline, virtual]
 

Return zero for a partondistribution. The method is overridden by the derived class partondistribution_with_qed.

Reimplemented in partondistribution_with_qed.

int get_eta void   )  const
 

Returns $\eta$.

double get_F double  x,
double  z
const
 

Evaluates the function

\[ F(x,z) = x^{-z} \sum\limits_{i=0}^{n-1} A_i B(z+\alpha_i-1,1+\beta_i). \]

for the given pair $(x,z)$.

complex_d get_Mellin_transform complex_d  z  )  const
 

Evaluates the Mellin transform of the parton distribution

\[ f^z(Q_0^2) = \sum\limits_{i=0}^{n-1} A_i B(z+\alpha_i-1,1+\beta_i) \]

at the point $z$.

double get_Q0 void   )  const
 

Returns $Q_0$.

double root_safeI double  a,
double  b,
double  x
const [private]
 

Solves numerically the equation

\[ \frac{d}{dz} F(x,z) = 0 \]

for $z$.

virtual bool with_qed void   )  const [inline, virtual]
 

Return false for a partondistribution. The method is overridden by the derived class partondistribution_with_qed.

Reimplemented in partondistribution_with_qed.


Friends And Related Function Documentation

partondistribution operator+ const partondistribution f1,
const partondistribution f2
[friend]
 

Addition of two parton distributions

The sum of two parton distributions is given by

\[ \sum\limits_{i=0}^{n-1} A_i x^{\alpha_i} (1-x)^{\beta_i} + \sum\limits_{i=0}^{n'-1} A_i' x^{\alpha_i'} (1-x)^{\beta_i'} \]

The values of $Q_0$ and $\eta$ of the two summands have to agree, otherwise the function throws an exception.


The documentation for this class was generated from the following files:
Generated on Wed May 11 20:46:25 2005 for Fast Evolution of Parton Distributions by doxygen 1.3.7