13#ifndef ROOT_Math_WrappedTF1
14#define ROOT_Math_WrappedTF1
97 unsigned int NPar()
const override
110 using BaseGradFunc::operator();
116 void FdF(
double x,
double &
f,
double &deriv)
const override
160 mutable double fX[1];
winID h TVirtualViewer3D TVirtualGLPainter p
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
Interface (abstract class) for one-dimensional functions providing a gradient calculation.
Interface (abstract class) for parametric one-dimensional gradient functions providing in addition to...
Class to Wrap a ROOT Function class (like TF1) in a IParamFunction interface of one dimensions to be ...
double DoDerivative(double x) const override
return the function derivatives w.r.t. x
double DoEvalPar(double x, const double *p) const override
evaluate function passing coordinates x and vector of parameters
double DoEval(double x) const override
evaluate function using the cached parameter values (of TF1) re-implement for better efficiency
std::string ParameterName(unsigned int i) const override
return parameter name (this is stored in TF1)
WrappedTF1 & operator=(const WrappedTF1 &rhs)
Assignment operator.
const double * Parameters() const override
get the parameter values (return values cachen inside, those inside TF1 might be different)
double DoParameterDerivative(double x, const double *p, unsigned int ipar) const override
evaluate the derivative of the function with respect to the parameters
void SetParameters(const double *p) override
set parameter values need to call also SetParameters in TF1 in ace some other operations (re-normaliz...
ROOT::Math::IGenFunction * Clone() const override
Clone the wrapper but not the original function.
unsigned int NPar() const override
return number of parameters
void FdF(double x, double &f, double &deriv) const override
calculate function and derivative at same time (required by IGradient interface)
static void SetDerivPrecision(double eps)
precision value used for calculating the derivative step-size h = eps * |x|.
static double GetDerivPrecision()
get precision value used for calculating the derivative step-size
ROOT::Math::IParamGradFunction BaseGradFunc
ROOT::Math::IGradientFunctionOneDim IGrad
void ParameterGradient(double x, const double *par, double *grad) const override
evaluate the derivative of the function with respect to the parameters
~WrappedTF1() override
Destructor (no operations).
ROOT::Math::IParamGradFunction::BaseFunc BaseFunc
virtual Int_t GetNpar() const
virtual Double_t * GetParameters() const
virtual void InitArgs(const Double_t *x, const Double_t *params)
Initialize parameters addresses.
TMethodCall * GetMethodCall() const
virtual const char * GetParName(Int_t ipar) const
virtual Double_t EvalPar(const Double_t *x, const Double_t *params=nullptr)
Evaluate function with given coordinates and parameters.
virtual void SetParameters(const Double_t *params)
Namespace for new Math classes and functions.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.