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

A string-to-functional parser. More...

#include <CepGen/Utils/Functional.h>

+ Inheritance diagram for Functional:
+ Collaboration diagram for Functional:

Public Member Functions

 Functional (const ParametersList &)
 Default constructor.
 
double operator() (double x) const
 Compute the functional for a given value of the variable (one-dimensional case)
 
double operator() (const std::vector< double > &x) const
 Compute the functional for a given value of the variables.
 
const std::vector< std::string > & variables () const
 List of string variable names.
 
const std::string & expression () const
 String expression held by this functional parser.
 
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 ParametersList fromExpression (const std::string &expr, const std::vector< std::string > &vars)
 Build a collection of parameters to define a functional from its mathematical expression.
 
static ParametersDescription description ()
 

Protected Member Functions

virtual double eval () const =0
 Compute the functional for a given value of the variables.
 
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

std::vector< std::string > vars_
 Computer-readable variable to be reached.
 
std::string expression_
 Computer-readable expression.
 
std::vector< double > values_
 Last arguments list fed to the functional.
 
const std::string name_
 Module unique indexing name.
 
ParametersList params_
 Module parameters.
 

Detailed Description

Author
L. Forthomme laure.nosp@m.nt.f.nosp@m.ortho.nosp@m.mme@.nosp@m.cern..nosp@m.ch
Date
21 Aug 2017

Definition at line 32 of file Functional.h.

Constructor & Destructor Documentation

◆ Functional()

Functional ( const ParametersList params)
explicit

Definition at line 26 of file Functional.cpp.

Member Function Documentation

◆ description()

ParametersDescription description ( )
static

Definition at line 57 of file Functional.cpp.

◆ eval()

virtual double eval ( ) const
protectedpure virtual

◆ expression()

const std::string & expression ( ) const

Definition at line 52 of file Functional.h.

◆ fromExpression()

ParametersList fromExpression ( const std::string &  expr,
const std::vector< std::string > &  vars 
)
static
Parameters
[in]exprMathematical expression to evaluate
[in]varsList of expression variables

Definition at line 53 of file Functional.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()() [1/2]

double operator() ( const std::vector< double > &  x) const
Parameters
[in]xVariables values

Definition at line 45 of file Functional.cpp.

◆ operator()() [2/2]

double operator() ( double  x) const
Parameters
[in]xVariable value

Definition at line 39 of file Functional.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.

◆ 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.

◆ 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.

◆ variables()

const std::vector< std::string > & variables ( ) const

Definition at line 50 of file Functional.h.

Member Data Documentation

◆ expression_

std::string expression_
protected

Definition at line 63 of file Functional.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.

◆ values_

std::vector<double> values_
mutableprotected

Definition at line 64 of file Functional.h.

◆ vars_

std::vector<std::string> vars_
protected

Definition at line 62 of file Functional.h.