13 #ifndef ROOT_Math_WrappedMultiTF1
14 #define ROOT_Math_WrappedMultiTF1
17 #ifndef ROOT_Math_IParamFunction
86 unsigned int NDim()
const {
139 double DoEvalPar (
const double *
x,
const double * p )
const {
virtual void SetParameters(const Double_t *params)
Namespace for new ROOT classes and functions.
std::string ParameterName(unsigned int i) const
return parameter name (from TF1)
double DoParameterDerivative(const double *x, const double *p, unsigned int ipar) const
evaluate the partial derivative with respect to the parameter
WrappedMultiTF1 & operator=(const WrappedMultiTF1 &rhs)
Assignment operator.
Class to Wrap a ROOT Function class (like TF1) in a IParamMultiFunction interface of multi-dimensions...
WrappedMultiTF1(TF1 &f, unsigned int dim=0)
constructor from a function pointer to a TF1 If dim = 0 dimension is taken from TF1::GetNdim().
virtual const char * GetParName(Int_t ipar) const
virtual ~WrappedMultiTF1()
Destructor (no operations).
double DoEval(const double *x) const
evaluate function using the cached parameter values (of TF1) re-implement for better efficiency ...
TMethodCall * GetMethodCall() const
const double * Parameters() const
get the parameter values (return values from TF1)
ROOT::Math::IParamMultiFunction::BaseFunc BaseFunc
void SetAndCopyFunction(const TF1 *f=0)
method to set a new function pointer and copy it inside.
ROOT::Math::IParamMultiGradFunction BaseParamFunc
static double GetDerivPrecision()
get precision value used for calculating the derivative step-size
IMultiGenFunction * Clone() const
Clone the wrapper but not the original function.
double DoEvalPar(const double *x, const double *p) const
evaluate function passing coordinates x and vector of parameters
void ParameterGradient(const double *x, const double *par, double *grad) const
evaluate the derivative of the function with respect to the parameters
void SetParameters(const double *p)
set parameter values (only the cached one in this class,leave unchanges those of TF1) ...
static void SetDerivPrecision(double eps)
precision value used for calculating the derivative step-size h = eps * |x|.
Interface (abstract class) for parametric gradient multi-dimensional functions providing in addition ...
const TF1 * GetFunction() const
method to retrieve the internal function pointer
Namespace for new Math classes and functions.
virtual void InitArgs(const Double_t *x, const Double_t *params)
Initialize parameters addresses.
virtual Double_t * GetParameters() const
unsigned int NPar() const
return number of parameters
unsigned int NDim() const
function dimension
Documentation for the abstract class IBaseFunctionMultiDim.
virtual Double_t EvalPar(const Double_t *x, const Double_t *params=0)
Evaluate function with given coordinates and parameters.
virtual Int_t GetNpar() const