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

Wrapper to a 1-dimensional function with optional parameters. More...

#include <include/CepGen/Utils/FunctionWrapper.h>

Public Member Functions

 FunctionWrapper (const std::function< double(double)> &func)
 
 FunctionWrapper (const std::function< double(double, const ParametersList &)> &func)
 
 FunctionWrapper (const std::function< double(double, void *)> &func)
 
double operator() (double x, const ParametersList &params=ParametersList()) const
 Call the function with a user collection of parameters.
 
double operator() (double x, void *obj) const
 Call the function with an unspecified object as parameters.
 
template<typename T >
double operator() (double x, const T &obj) const
 Call the function with a templated object as parameters.
 
 operator const std::function< double (double)> &()
 
 operator const std::function< double (double, void *)> &()
 

Detailed Description

Definition at line 28 of file FunctionWrapper.h.

Constructor & Destructor Documentation

◆ FunctionWrapper() [1/3]

FunctionWrapper ( const std::function< double(double)> & func)
explicit

Definition at line 30 of file FunctionWrapper.h.

◆ FunctionWrapper() [2/3]

FunctionWrapper ( const std::function< double(double, const ParametersList &)> & func)
explicit

Definition at line 31 of file FunctionWrapper.h.

◆ FunctionWrapper() [3/3]

FunctionWrapper ( const std::function< double(double, void *)> & func)
explicit

Definition at line 32 of file FunctionWrapper.h.

Member Function Documentation

◆ operator const std::function< double() [1/2]

operator const std::function< double ( double ) &

Definition at line 56 of file FunctionWrapper.h.

◆ operator const std::function< double() [2/2]

operator const std::function< double ( double ,
void *  ) &

Definition at line 57 of file FunctionWrapper.h.

◆ operator()() [1/3]

double operator() ( double x,
const ParametersList & params = ParametersList() ) const

Definition at line 35 of file FunctionWrapper.h.

◆ operator()() [2/3]

template<typename T >
double operator() ( double x,
const T & obj ) const

Definition at line 48 of file FunctionWrapper.h.

◆ operator()() [3/3]

double operator() ( double x,
void * obj ) const

Definition at line 41 of file FunctionWrapper.h.