Logo ROOT  
Reference Guide
ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType > Class Template Reference

template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
class ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >

OneDimParamFunctionAdapter class to wrap a multi-dim parameteric function in one dimensional one.

Given a f(x[],p1,...pn) transforms in a f( p_i) given the param index i and the vectors x[] and p[] of the coordinates and parameters It has to be used carefully, since for efficiency reason it does not copy the parameter object but re-uses the given pointer for the p[] vector. The ParamFuncType reference by default is not const because the operator()(x,p) is not a const method

Definition at line 213 of file OneDimFunctionAdapter.h.

Public Member Functions

 OneDimParamFunctionAdapter (ParamFuncType f, const double *x, const double *p, unsigned int ipar=0)
 Constructor from the function object , x value and coordinate we want to adapt. More...
 
 ~OneDimParamFunctionAdapter ()
 Destructor (no operations) More...
 
virtual OneDimParamFunctionAdapterClone () const
 clone More...
 
- Public Member Functions inherited from ROOT::Math::IBaseFunctionOneDim
 IBaseFunctionOneDim ()
 
virtual ~IBaseFunctionOneDim ()
 virtual destructor More...
 
virtual IBaseFunctionOneDimClone () const =0
 Clone a function. More...
 
double operator() (const double *x) const
 Evaluate the function at a point x[]. More...
 
double operator() (double x) const
 Evaluate the function at a point x Use the a pure virtual private method DoEval which must be implemented by sub-classes. More...
 

Private Member Functions

double DoEval (double x) const
 evaluate function at the values x[] given in the constructor and as function of the coordinate fCoord. More...
 

Private Attributes

ParamFuncType fFunc
 
unsigned int fIpar
 
const double * fParams
 
const double * fX
 

Additional Inherited Members

- Public Types inherited from ROOT::Math::IBaseFunctionOneDim
typedef IBaseFunctionOneDim BaseFunc
 

#include <Math/OneDimFunctionAdapter.h>

Inheritance diagram for ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >:
[legend]

Constructor & Destructor Documentation

◆ OneDimParamFunctionAdapter()

template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::OneDimParamFunctionAdapter ( ParamFuncType  f,
const double *  x,
const double *  p,
unsigned int  ipar = 0 
)
inline

Constructor from the function object , x value and coordinate we want to adapt.

Definition at line 221 of file OneDimFunctionAdapter.h.

◆ ~OneDimParamFunctionAdapter()

template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::~OneDimParamFunctionAdapter ( )
inline

Destructor (no operations)

Definition at line 234 of file OneDimFunctionAdapter.h.

Member Function Documentation

◆ Clone()

template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
virtual OneDimParamFunctionAdapter * ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::Clone ( ) const
inlinevirtual

clone

Implements ROOT::Math::IBaseFunctionOneDim.

Definition at line 239 of file OneDimFunctionAdapter.h.

◆ DoEval()

template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
double ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::DoEval ( double  x) const
inlineprivatevirtual

evaluate function at the values x[] given in the constructor and as function of the coordinate fCoord.

Implements ROOT::Math::IBaseFunctionOneDim.

Definition at line 251 of file OneDimFunctionAdapter.h.

Member Data Documentation

◆ fFunc

template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
ParamFuncType ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::fFunc
private

Definition at line 264 of file OneDimFunctionAdapter.h.

◆ fIpar

template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
unsigned int ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::fIpar
private

Definition at line 267 of file OneDimFunctionAdapter.h.

◆ fParams

template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
const double* ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::fParams
private

Definition at line 266 of file OneDimFunctionAdapter.h.

◆ fX

template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
const double* ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::fX
private

Definition at line 265 of file OneDimFunctionAdapter.h.


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