ROOT  6.06/09
Reference Guide
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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 217 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...
 
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...
 
double operator() (const double *x) const
 Evaluate the function at a point x[]. 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
 
const doublefX
 
const doublefParams
 
unsigned int fIpar
 

Additional Inherited Members

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

#include <Math/OneDimFunctionAdapter.h>

+ Inheritance diagram for ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >:
+ Collaboration diagram for ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >:

Constructor & Destructor Documentation

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 225 of file OneDimFunctionAdapter.h.

Referenced by ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::Clone().

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

Destructor (no operations)

Definition at line 238 of file OneDimFunctionAdapter.h.

Member Function Documentation

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

clone

Implements ROOT::Math::IBaseFunctionOneDim.

Definition at line 243 of file OneDimFunctionAdapter.h.

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 255 of file OneDimFunctionAdapter.h.

Member Data Documentation

template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
ParamFuncType ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::fFunc
private
template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
unsigned int ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::fIpar
private
template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
const double* ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::fParams
private
template<class ParamFuncType = ROOT::Math::IParamMultiFunction &>
const double* ROOT::Math::OneDimParamFunctionAdapter< ParamFuncType >::fX
private

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