cepgen is hosted by Hepforge, IPPP Durham
CepGen 1.2.3
A generic central exclusive processes event generator
Loading...
Searching...
No Matches

Base object for the parameterisation of nucleon structure functions. More...

#include <CepGen/StructureFunctions/Parameterisation.h>

+ Inheritance diagram for Parameterisation:
+ Collaboration diagram for Parameterisation:

Classes

struct  Arguments
 
struct  Values
 

Public Member Functions

 Parameterisation (const ParametersList &)
 
virtual ~Parameterisation ()=default
 
const sigrat::ParameterisationsigmaRatio () const
 Longitudinal/transverse cross section ratio parameterisation used to compute \(F_{1/L}\).
 
Parameterisationoperator() (double, double)
 Compute all relevant structure functions for a given \((x_{\rm Bj},Q^2)\) couple.
 
double F2 (double xbj, double q2)
 Transverse structure function.
 
double FL (double xbj, double q2)
 Longitudinal structure function.
 
double W1 (double xbj, double q2)
 Longitudinal form factor.
 
double W2 (double xbj, double q2)
 
double FE (double xbj, double q2)
 Electric proton form factor.
 
double FM (double xbj, double q2)
 Magnetic proton form factor.
 
double F1 (double xbj, double q2)
 \(F_1\) structure function
 
const std::string & name () const
 Module unique indexing name.
 
bool operator== (const SteeredObject &oth) const
 Equality operator.
 
bool operator!= (const SteeredObject &oth) const
 Inequality operator.
 
const ParametersListparameters () const override
 Module user-defined parameters.
 
virtual void setParameters (const ParametersList &params) override
 Set module parameters.
 
void setDescribedParameters (const ParametersList &params_orig)
 Set (documented) module parameters.
 

Static Public Member Functions

static ParametersDescription description ()
 Generic description for the structure functions.
 

Protected Member Functions

virtual void eval ()=0
 Local structure functions evaluation method.
 
virtual ParameterisationcomputeFL (double xbj, double q2)
 Compute the longitudinal structure function for a given point.
 
virtual ParameterisationcomputeFL (double xbj, double q2, double r)
 Compute the longitudinal structure function for a given point.
 
Parameterisationclear ()
 Reset the structure functions values.
 
ParameterisationsetF1F2 (double f1, double f2)
 
ParameterisationsetF2 (double f2)
 
ParameterisationsetFL (double fl)
 
ParameterisationsetW1 (double w1)
 
ParameterisationsetW2 (double w2)
 
ParameterisationsetFE (double fe)
 
ParameterisationsetFM (double fm)
 
double tau (double xbj, double q2) const
 Compute the dimensionless variable \(\tau=\frac{4x_{\rm Bj}^2m_p^2}{Q^2}\).
 
double gamma2 (double xbj, double q2) const
 Dimensionless variable \(\gamma^2=1+\frac{4x_{\rm Bj}^2 m_p^2}{Q^2}=1+\tau\).
 
template<typename T >
steer (const std::string &key) const
 Retrieve a parameters as previously steered.
 
template<typename T , typename U >
U steerAs (const std::string &key) const
 Retrieve a recasted parameters as previously steered.
 
std::string steerName () const
 Retrieve module name from parameters.
 
std::string steerPath (const std::string &key) const
 Retrieve a path from common search paths.
 

Protected Attributes

const double mp_
 Proton mass, in GeV/c^2.
 
const double mp2_
 Squared proton mass, in GeV^2/c^4.
 
const double mx_min_
 Minimum diffractive mass, in GeV/c^2.
 
Arguments args_
 Last \((x_{\rm Bj},Q^2)\) couple computed.
 
const std::string name_
 Module unique indexing name.
 
ParametersList params_
 Module parameters.
 

Friends

std::ostream & operator<< (std::ostream &, const Parameterisation &)
 Human-readable dump of the SF parameterisation at this (xBj,Q^2) value.
 

Detailed Description

Definition at line 30 of file Parameterisation.h.

Constructor & Destructor Documentation

◆ Parameterisation()

Parameterisation ( const ParametersList params)
explicit

Definition at line 27 of file Parameterisation.cpp.

◆ ~Parameterisation()

virtual ~Parameterisation ( )
virtualdefault

Member Function Documentation

◆ clear()

Parameterisation & clear ( )
protected

Definition at line 51 of file Parameterisation.cpp.

◆ computeFL() [1/2]

Parameterisation & computeFL ( double  xbj,
double  q2 
)
protectedvirtual

Reimplemented in ChristyBosted, and Grid.

Definition at line 118 of file Parameterisation.cpp.

◆ computeFL() [2/2]

Parameterisation & computeFL ( double  xbj,
double  q2,
double  r 
)
protectedvirtual

Reimplemented in ChristyBosted, and Grid.

Definition at line 125 of file Parameterisation.cpp.

◆ description()

ParametersDescription description ( )
static

Definition at line 146 of file Parameterisation.cpp.

◆ eval()

◆ F1()

double F1 ( double  xbj,
double  q2 
)

Definition at line 73 of file Parameterisation.cpp.

◆ F2()

double F2 ( double  xbj,
double  q2 
)

Definition at line 57 of file Parameterisation.cpp.

◆ FE()

double FE ( double  xbj,
double  q2 
)

Definition at line 69 of file Parameterisation.cpp.

◆ FL()

double FL ( double  xbj,
double  q2 
)

Definition at line 59 of file Parameterisation.cpp.

◆ FM()

double FM ( double  xbj,
double  q2 
)

Definition at line 71 of file Parameterisation.cpp.

◆ gamma2()

double gamma2 ( double  xbj,
double  q2 
) const
protected

Definition at line 116 of file Parameterisation.cpp.

◆ name()

const std::string & name ( ) const
inherited

Definition at line 42 of file NamedModule.h.

◆ operator!=()

template<typename T >
bool operator!= ( const SteeredObject< T > &  oth) const
inherited

Definition at line 51 of file SteeredObject.h.

◆ operator()()

Parameterisation & operator() ( double  xbj,
double  q2 
)
Parameters
[in]xbjBjorken's x variable
[in]q2Squared 4-momentum transfer (in GeV^2)

Definition at line 37 of file Parameterisation.cpp.

◆ operator==()

template<typename T >
bool operator== ( const SteeredObject< T > &  oth) const
inherited

Definition at line 49 of file SteeredObject.h.

◆ parameters()

template<typename T >
const ParametersList & parameters ( ) const
overridevirtualinherited

Reimplemented from Steerable.

Definition at line 54 of file SteeredObject.h.

◆ setDescribedParameters()

template<typename T >
void setDescribedParameters ( const ParametersList params_orig)
inherited

Definition at line 73 of file SteeredObject.h.

◆ setF1F2()

Parameterisation & setF1F2 ( double  f1,
double  f2 
)
protected

Definition at line 77 of file Parameterisation.cpp.

◆ setF2()

Parameterisation & setF2 ( double  f2)
protected

Definition at line 83 of file Parameterisation.cpp.

◆ setFE()

Parameterisation & setFE ( double  fe)
protected

Definition at line 104 of file Parameterisation.cpp.

◆ setFL()

Parameterisation & setFL ( double  fl)
protected

Definition at line 88 of file Parameterisation.cpp.

◆ setFM()

Parameterisation & setFM ( double  fm)
protected

Definition at line 109 of file Parameterisation.cpp.

◆ setParameters()

template<typename T >
virtual void setParameters ( const ParametersList params)
overridevirtualinherited

Reimplemented from Steerable.

Reimplemented in Initial, Remnants, CutsList, IncomingBeams, and Kinematics.

Definition at line 62 of file SteeredObject.h.

◆ setW1()

Parameterisation & setW1 ( double  w1)
protected

Definition at line 94 of file Parameterisation.cpp.

◆ setW2()

Parameterisation & setW2 ( double  w2)
protected

Definition at line 99 of file Parameterisation.cpp.

◆ sigmaRatio()

const sigrat::Parameterisation * sigmaRatio ( ) const

Definition at line 41 of file Parameterisation.h.

◆ steer()

template<typename T >
T steer ( const std::string &  key) const
protectedinherited

Definition at line 39 of file Steerable.h.

◆ steerAs()

template<typename T , typename U >
U steerAs ( const std::string &  key) const
protectedinherited

Definition at line 44 of file Steerable.h.

◆ steerName()

std::string steerName ( ) const
protectedinherited

Definition at line 48 of file Steerable.h.

◆ steerPath()

std::string steerPath ( const std::string &  key) const
protectedinherited

Definition at line 30 of file Steerable.cpp.

◆ tau()

double tau ( double  xbj,
double  q2 
) const
protected

Definition at line 114 of file Parameterisation.cpp.

◆ W1()

double W1 ( double  xbj,
double  q2 
)

Definition at line 65 of file Parameterisation.cpp.

◆ W2()

double W2 ( double  xbj,
double  q2 
)

Definition at line 67 of file Parameterisation.cpp.

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
const Parameterisation sf 
)
friend

Definition at line 131 of file Parameterisation.cpp.

Member Data Documentation

◆ args_

Arguments args_
protected

Definition at line 109 of file Parameterisation.h.

◆ mp2_

const double mp2_
protected

Definition at line 106 of file Parameterisation.h.

◆ mp_

const double mp_
protected

Definition at line 105 of file Parameterisation.h.

◆ mx_min_

const double mx_min_
protected

Definition at line 107 of file Parameterisation.h.

◆ name_

const std::string name_
protectedinherited

Definition at line 45 of file NamedModule.h.

◆ params_

ParametersList params_
mutableprotectedinherited

Definition at line 50 of file Steerable.h.