cepgen is hosted by Hepforge, IPPP Durham
CepGen N/A
Central exclusive processes event generator

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

#include <include/CepGen/StructureFunctions/Parameterisation.h>

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

Classes

struct  Arguments
 
struct  Values
 

Public Member Functions

 Parameterisation (const ParametersList &)
 
 ~Parameterisation () override=default
 
virtual bool hasW1W2 () const
 provides modelling for W_1/W_2? Longitudinal/transverse cross section ratio parameterisation used to compute \(F_{1/L}\)
 
const sigrat::ParameterisationsigmaRatio () const
 
Parameterisationoperator() (double xbj, double q2)
 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.
 
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\).
 
double nu (double xbj, double q2) const
 
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 recast 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 inv_mp_
 Inverse proton mass, in c^2/GeV.
 
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 29 of file Parameterisation.h.

Constructor & Destructor Documentation

◆ Parameterisation()

Parameterisation ( const ParametersList & )
explicit

◆ ~Parameterisation()

~Parameterisation ( )
overridedefault

Member Function Documentation

◆ clear()

Parameterisation & clear ( )
protected

◆ computeFL() [1/2]

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

◆ computeFL() [2/2]

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

◆ description()

static ParametersDescription description ( )
static

◆ eval()

virtual void eval ( )
protectedpure virtual

Implemented in PartonicParameterisation.

◆ F1()

double F1 ( double xbj,
double q2 )

◆ F2()

double F2 ( double xbj,
double q2 )

◆ FE()

double FE ( double xbj,
double q2 )

◆ FL()

double FL ( double xbj,
double q2 )

◆ FM()

double FM ( double xbj,
double q2 )

◆ gamma2()

double gamma2 ( double xbj,
double q2 ) const
protected

◆ hasW1W2()

virtual bool hasW1W2 ( ) const
virtual

Definition at line 39 of file Parameterisation.h.

◆ name()

const std::string & name ( ) const
inherited

Definition at line 42 of file NamedModule.h.

◆ nu()

double nu ( double xbj,
double q2 ) const
protected

◆ operator!=()

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

Definition at line 50 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)

◆ operator==()

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

Definition at line 48 of file SteeredObject.h.

◆ parameters()

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

Reimplemented from Steerable.

Definition at line 53 of file SteeredObject.h.

◆ setDescribedParameters()

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

Definition at line 72 of file SteeredObject.h.

◆ setF1F2()

Parameterisation & setF1F2 ( double f1,
double f2 )
protected

◆ setF2()

Parameterisation & setF2 ( double f2)
protected

◆ setFE()

Parameterisation & setFE ( double fe)
protected

◆ setFL()

Parameterisation & setFL ( double fl)
protected

◆ setFM()

Parameterisation & setFM ( double fm)
protected

◆ setParameters()

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

Reimplemented from Steerable.

Definition at line 61 of file SteeredObject.h.

◆ setW1()

Parameterisation & setW1 ( double w1)
protected

◆ setW2()

Parameterisation & setW2 ( double w2)
protected

◆ 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

◆ tau()

double tau ( double xbj,
double q2 ) const
protected

◆ W1()

double W1 ( double xbj,
double q2 )

◆ W2()

double W2 ( double xbj,
double q2 )

Friends And Related Symbol Documentation

◆ operator<<

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

Member Data Documentation

◆ args_

Arguments args_
protected

Definition at line 111 of file Parameterisation.h.

◆ inv_mp_

const double inv_mp_
protected

Definition at line 108 of file Parameterisation.h.

◆ mp2_

const double mp2_
protected

Definition at line 107 of file Parameterisation.h.

◆ mp_

const double mp_
protected

Definition at line 106 of file Parameterisation.h.

◆ mx_min_

const double mx_min_
protected

Definition at line 109 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.