Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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 parametric 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.
 
 ~OneDimParamFunctionAdapter () override
 Destructor (no operations)
 
OneDimParamFunctionAdapterClone () const override
 clone
 
- Public Member Functions inherited from ROOT::Math::IBaseFunctionOneDim
virtual ~IBaseFunctionOneDim ()=default
 
virtual bool HasGradient () const
 
double operator() (const double *x) const
 Evaluate the function at a point x[].
 
double operator() (double x) const
 Evaluate the function at a point x.
 

Private Member Functions

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

Private Attributes

ParamFuncType fFunc
 
unsigned int fIpar
 
const doublefParams
 
const doublefX
 

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 ( )
inlineoverride

Destructor (no operations)

Definition at line 234 of file OneDimFunctionAdapter.h.

Member Function Documentation

◆ Clone()

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

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
inlineoverrideprivatevirtual

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.

  • math/mathcore/inc/Math/OneDimFunctionAdapter.h