MultiDimParamFunctionAdapter class to wrap a one-dimensional parametric function in a multi dimensional parameteric function interface This is used typically in fitting where internally the function is stored as multidimension.
To wrap a non-parametric one-dim function in a multi-dim interface one can use simply a ROOT::Math::WrappedFunction<ROOT::Math::IGenFunction> or ROOT::Math::Functor and ROOT::Math::GradFunctor for gradient functions
This class differs from WrappedParamFunction in the fact that the parameters are not stored in the adapter class and optionally it keeps a cloned and managed copy of the adapter class.
Definition at line 43 of file MultiDimParamFunctionAdapter.h.
Public Types | |
typedef IParamMultiFunction::BaseFunc | BaseFunc |
Public Types inherited from ROOT::Math::IParametricFunctionMultiDimTempl< double > | |
typedef IBaseFunctionMultiDimTempl< double > | BaseFunc |
Public Types inherited from ROOT::Math::IBaseFunctionMultiDimTempl< double > | |
typedef double | BackendType |
typedef IBaseFunctionMultiDimTempl< double > | BaseFunc |
Public Member Functions | |
MultiDimParamFunctionAdapter (const IParamFunction &f) | |
Constructor from a parametric one dim function interface from a const reference Own the function in this case. More... | |
MultiDimParamFunctionAdapter (const MultiDimParamFunctionAdapter &rhs) | |
Copy constructor. More... | |
MultiDimParamFunctionAdapter (IParamFunction &f) | |
Constructor from a parametric one dim function interface from a non-const reference Do not own the function in this case. More... | |
virtual | ~MultiDimParamFunctionAdapter () |
Destructor (no operations) More... | |
virtual BaseFunc * | Clone () const |
clone More... | |
unsigned int | NDim () const |
Retrieve the dimension of the function. More... | |
unsigned int | NPar () const |
Return the number of Parameters. More... | |
MultiDimParamFunctionAdapter & | operator= (const MultiDimParamFunctionAdapter &rhs) |
Assignment operator. More... | |
const double * | Parameters () const |
Access the parameter values. More... | |
void | SetParameters (const double *p) |
Set the parameter values. More... | |
Public Member Functions inherited from ROOT::Math::IParametricFunctionMultiDimTempl< double > | |
double | operator() (const double *x) const |
double | operator() (const double *x, const double *p) const |
Evaluate function at a point x and for given parameters p. More... | |
Public Member Functions inherited from ROOT::Math::IBaseFunctionMultiDimTempl< double > | |
IBaseFunctionMultiDimTempl () | |
virtual | ~IBaseFunctionMultiDimTempl () |
virtual destructor More... | |
virtual IBaseFunctionMultiDimTempl< double > * | Clone () const=0 |
Clone a function. More... | |
virtual unsigned int | NDim () const=0 |
Retrieve the dimension of the function. More... | |
double | operator() (const double *x) const |
Evaluate the function at a point x[]. More... | |
Public Member Functions inherited from ROOT::Math::IBaseParam | |
virtual | ~IBaseParam () |
Virtual Destructor (no operations) More... | |
virtual unsigned int | NPar () const =0 |
Return the number of Parameters. More... | |
virtual std::string | ParameterName (unsigned int i) const |
Return the name of the i-th parameter (starting from zero) Overwrite if want to avoid the default name ("Par_0, Par_1, ...") More... | |
virtual const double * | Parameters () const =0 |
Access the parameter values. More... | |
virtual void | SetParameters (const double *p)=0 |
Set the parameter values. More... | |
Private Member Functions | |
double | DoEvalPar (const double *x, const double *p) const |
needed by the interface More... | |
Private Attributes | |
IParamFunction * | fFunc |
bool | fOwn |
#include <Math/MultiDimParamFunctionAdapter.h>
Definition at line 47 of file MultiDimParamFunctionAdapter.h.
|
inline |
Constructor from a parametric one dim function interface from a const reference Own the function in this case.
Definition at line 54 of file MultiDimParamFunctionAdapter.h.
|
inline |
Constructor from a parametric one dim function interface from a non-const reference Do not own the function in this case.
Definition at line 64 of file MultiDimParamFunctionAdapter.h.
|
inline |
Copy constructor.
Different behaviour according if function is owned or not
Definition at line 73 of file MultiDimParamFunctionAdapter.h.
|
inlinevirtual |
Destructor (no operations)
Definition at line 86 of file MultiDimParamFunctionAdapter.h.
|
inlinevirtual |
clone
Implements ROOT::Math::IBaseFunctionMultiDimTempl< double >.
Definition at line 110 of file MultiDimParamFunctionAdapter.h.
|
inlineprivatevirtual |
needed by the interface
Implements ROOT::Math::IParametricFunctionMultiDimTempl< double >.
Definition at line 142 of file MultiDimParamFunctionAdapter.h.
|
inlinevirtual |
Retrieve the dimension of the function.
Implements ROOT::Math::IBaseFunctionMultiDimTempl< double >.
Definition at line 133 of file MultiDimParamFunctionAdapter.h.
|
inlinevirtual |
Return the number of Parameters.
Implements ROOT::Math::IBaseParam.
Definition at line 128 of file MultiDimParamFunctionAdapter.h.
|
inline |
Assignment operator.
Definition at line 95 of file MultiDimParamFunctionAdapter.h.
|
inlinevirtual |
Access the parameter values.
Implements ROOT::Math::IBaseParam.
Definition at line 118 of file MultiDimParamFunctionAdapter.h.
|
inlinevirtual |
Set the parameter values.
p | vector of doubles containing the parameter values. |
to be defined: can user change number of params ? At the moment no.
Implements ROOT::Math::IBaseParam.
Definition at line 123 of file MultiDimParamFunctionAdapter.h.
|
private |
Definition at line 151 of file MultiDimParamFunctionAdapter.h.
|
private |
Definition at line 150 of file MultiDimParamFunctionAdapter.h.