Function which has parameters.
For example, one could define a one-dimensional Gaussian, by considering x as an input coordinate for the evaluation of the function, and the mean and the square root of the variance as parameters.
AS OF NOW PARAMETRICFUNCTION INHERITS FROM FCNBASE INSTEAD OF GENERICFUNCTION. THIS IS ONLY BECAUSE NUMERICAL2PGRADIENTCALCULATOR NEEDS AN FCNBASE OBJECT AND WILL BE CHANGED!!!!!!!!!!!!!!!!
Definition at line 43 of file ParametricFunction.h.
Public Member Functions | |
ParametricFunction (int nparams) | |
Constructor which initializes the ParametricFunction by setting the number of parameters. | |
ParametricFunction (std::span< const double > params) | |
Constructor which initializes the ParametricFunction with the parameters given as input. | |
virtual std::vector< double > | GetGradient (std::vector< double > const &x) const |
Member function returning the Gradient of the function with respect to its variables (but without including gradients with respect to its internal parameters). | |
virtual const std::vector< double > & | GetParameters () const |
Accessor for the state of the parameters. | |
virtual unsigned int | NumberOfParameters () const |
Accessor for the number of parameters. | |
double | operator() (std::vector< double > const &x) const override=0 |
Evaluates the function with the given coordinates. | |
virtual double | operator() (std::vector< double > const &x, std::vector< double > const ¶ms) const |
Evaluates the function with the given coordinates and Parameter values. | |
virtual void | SetParameters (std::vector< double > const ¶ms) const |
Sets the parameters of the ParametricFunction. | |
Public Member Functions inherited from ROOT::Minuit2::FCNBase | |
virtual double | ErrorDef () const |
Error definition of the function. | |
virtual std::vector< double > | G2 (std::vector< double > const &) const |
return second derivatives (diagonal of the Hessian matrix) | |
virtual std::vector< double > | Gradient (std::vector< double > const &) const |
virtual std::vector< double > | GradientWithPrevResult (std::vector< double > const ¶meters, double *, double *, double *) const |
virtual GradientParameterSpace | gradParameterSpace () const |
virtual bool | HasG2 () const |
virtual bool | HasGradient () const |
virtual bool | HasHessian () const |
virtual std::vector< double > | Hessian (std::vector< double > const &) const |
return Hessian | |
virtual void | SetErrorDef (double) |
add interface to set dynamically a new error definition Re-implement this function if needed. | |
virtual double | Up () const =0 |
Error definition of the function. | |
Public Member Functions inherited from ROOT::Minuit2::GenericFunction | |
virtual | ~GenericFunction () |
Protected Attributes | |
std::vector< double > | par |
The vector containing the parameters of the function It is mutable for "historical reasons" as in the hierarchy methods and classes are const and all the implications of changing them back to non-const are not clear. | |
#include <Minuit2/ParametricFunction.h>
|
inline |
Constructor which initializes the ParametricFunction with the parameters given as input.
params | vector containing the initial Parameter values |
Definition at line 55 of file ParametricFunction.h.
|
inline |
Constructor which initializes the ParametricFunction by setting the number of parameters.
nparams | number of parameters of the parametric function |
Definition at line 66 of file ParametricFunction.h.
|
virtual |
Member function returning the Gradient of the function with respect to its variables (but without including gradients with respect to its internal parameters).
x | vector containing the coordinates of the point where the Gradient is to be calculated. |
Definition at line 22 of file ParametricFunction.cxx.
|
inlinevirtual |
Accessor for the state of the parameters.
Definition at line 91 of file ParametricFunction.h.
|
inlinevirtual |
Accessor for the number of parameters.
Definition at line 100 of file ParametricFunction.h.
|
overridepure virtual |
Evaluates the function with the given coordinates.
x | vector containing the input coordinates |
Implements ROOT::Minuit2::FCNBase.
|
inlinevirtual |
Evaluates the function with the given coordinates and Parameter values.
This member function is useful to implement when speed is an issue as it is faster to call only one function instead of two (SetParameters and operator()). The default implementation, provided for convenience, does the latter.
x | vector containing the input coordinates |
params | vector containing the Parameter values |
Definition at line 135 of file ParametricFunction.h.
|
inlinevirtual |
Sets the parameters of the ParametricFunction.
params | vector containing the Parameter values |
Definition at line 76 of file ParametricFunction.h.
|
mutableprotected |
The vector containing the parameters of the function It is mutable for "historical reasons" as in the hierarchy methods and classes are const and all the implications of changing them back to non-const are not clear.
Definition at line 166 of file ParametricFunction.h.