27 static double gEPs = 0.001;
36 funcToCopy->
Copy(*fnew);
62 while (
fLinear && ip < fFunc->GetNpar()) {
74 fPolynomial(rhs.fPolynomial),
86 if (
this == &rhs)
return *
this;
105 for (
unsigned int i = 0; i <
np; ++i)
131 return std::pow(
x,
static_cast<int>(ipar));
135 assert(df !=
nullptr);
138 return (
const_cast<TFormula *
>(df))->Eval(
x) ;
149 return ::ROOT::Math::Internal::DerivPrecision(-1);
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t np
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
WrappedTF1 & operator=(const WrappedTF1 &rhs)
Assignment operator.
WrappedTF1(TF1 &f)
constructor from a TF1 function pointer.
double DoParameterDerivative(double x, const double *p, unsigned int ipar) const override
evaluate the derivative of the function with respect to the parameters
unsigned int NPar() const override
return number of parameters
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
void ParameterGradient(double x, const double *par, double *grad) const override
evaluate the derivative of the function with respect to the parameters
void * New(ENewType defConstructor=kClassNew, Bool_t quiet=kFALSE) const
Return a pointer to a newly allocated object of this class.
virtual Double_t Derivative(Double_t x, Double_t *params=nullptr, Double_t epsilon=0.001) const
Returns the first derivative of the function at point x, computed by Richardson's extrapolation metho...
virtual Int_t GetNumber() const
virtual Double_t GradientPar(Int_t ipar, const Double_t *x, Double_t eps=0.01)
Compute the gradient (derivative) wrt a parameter ipar.
void Copy(TObject &f1) const override
Copy this F1 to a new F1.
virtual void InitArgs(const Double_t *x, const Double_t *params)
Initialize parameters addresses.
TMethodCall * GetMethodCall() const
virtual Bool_t IsLinear() const
virtual void SetParameters(const Double_t *params)
TClass * IsA() const override
virtual const TObject * GetLinearPart(Int_t i) const
Namespace for new Math classes and functions.
double DerivPrecision(double eps)
TF1 * CopyTF1Ptr(const TF1 *funcToCopy)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...