APFEL 4.8.0
A PDF evolution library in C++
Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | Private Attributes | List of all members
apfel::Observable< T > Class Template Reference

The Observable class encapsulates sets of operators and sets of T-type objects for an easy computation of observables deriving from the convolution of the two. This class can contain an arbitrary number of such pairs that are separatately convoluted and joint when the obeservable is computed by means of the "Evaluate" function. More...

#include <observable.h>

Classes

struct  ConvolutionPair
 This structure contains a pair of sets of coefficient functions and of objects. More...
 

Public Member Functions

 Observable ()
 The Observable empty constructor.
 
 Observable (std::vector< ConvolutionPair > ConvPair)
 The Observable constructor.
 
 Observable (std::function< Set< Operator >(double const &)> const &CoefficientFunctions, std::function< Set< T >(double const &)> const &Objects)
 The Observable constructor.
 
void AddConvolutionPair (std::function< Set< Operator >(double const &)> const &CoefficientFunctions, std::function< Set< T >(double const &)> const &Objects)
 Function to add a convolution pair.
 
void SetObjects (std::function< Set< T >(double const &)> const &Objects, int const &ip=0)
 Set the set of ditributions keeping the same set of coefficient functions.
 
Functions that evaluate the the observable at the scale

Q.

Evaluate (double const &Q) const
 This function returns the observable as a distribution.
 
double Evaluate (double const &x, double const &Q) const
 This function returns the observable in Q interpolated in x.
 

Public Attributes

std::function< Set< Operator >(double const &) GetCoefficientFunctions )(int const &ip=0) const
 Get the set of coefficient functions.
 

Private Attributes

std::vector< ConvolutionPair_ConvPair
 

Detailed Description

template<class T = Distribution>
class apfel::Observable< T >

The Observable class encapsulates sets of operators and sets of T-type objects for an easy computation of observables deriving from the convolution of the two. This class can contain an arbitrary number of such pairs that are separatately convoluted and joint when the obeservable is computed by means of the "Evaluate" function.

Constructor & Destructor Documentation

◆ Observable() [1/3]

template<class T = Distribution>
apfel::Observable< T >::Observable ( )

The Observable empty constructor.

◆ Observable() [2/3]

template<class T = Distribution>
apfel::Observable< T >::Observable ( std::vector< ConvolutionPair > ConvPair)

The Observable constructor.

Parameters
ConvPaira vector of ConvolutionPair structures containing pairs of Set<Operator>-valued and Set<T>-valued functions

◆ Observable() [3/3]

template<class T = Distribution>
apfel::Observable< T >::Observable ( std::function< Set< Operator >(double const &)> const & CoefficientFunctions,
std::function< Set< T >(double const &)> const & Objects )

The Observable constructor.

Parameters
CoefficientFunctionsa Set<Operator>-valued function returning the operators
Objectsa Set<T>-valued function returning the relevant object

Member Function Documentation

◆ AddConvolutionPair()

template<class T = Distribution>
void apfel::Observable< T >::AddConvolutionPair ( std::function< Set< Operator >(double const &)> const & CoefficientFunctions,
std::function< Set< T >(double const &)> const & Objects )

Function to add a convolution pair.

Parameters
CoefficientFunctionsa Set<Operator>-valued function returning the operators
Objectsa Set<T>-valued function returning the relevant object

◆ Evaluate() [1/2]

template<class T = Distribution>
T apfel::Observable< T >::Evaluate ( double const & Q) const

This function returns the observable as a distribution.

Parameters
Qthe scale where the observable has to be evaluated
Returns
the observable in Q as a distribution

◆ Evaluate() [2/2]

template<class T = Distribution>
double apfel::Observable< T >::Evaluate ( double const & x,
double const & Q ) const

This function returns the observable in Q interpolated in x.

Parameters
xthe value to be interpolate on the x-space grid
Qthe scale where the observable has to be evaluated
Returns
the observable in Q interpolated in x

◆ SetObjects()

template<class T = Distribution>
void apfel::Observable< T >::SetObjects ( std::function< Set< T >(double const &)> const & Objects,
int const & ip = 0 )

Set the set of ditributions keeping the same set of coefficient functions.

Parameters
Objectsthe new set of objects
ipindex of the convolution-pair vector (default: 0)

Member Data Documentation

◆ _ConvPair

template<class T = Distribution>
std::vector<ConvolutionPair> apfel::Observable< T >::_ConvPair
private

◆ GetCoefficientFunctions

template<class T = Distribution>
std::function< Set< Operator >(double const &) apfel::Observable< T >::GetCoefficientFunctions) (int const &ip=0) const

Get the set of coefficient functions.

Parameters
ipindex of the convolution-pair vector (default: 0)
Returns
the set of coefficient functions.

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