BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
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 45 of file ParametricFunction.h.
Public Member Functions | |
ParametricFunction (const std::vector< double > ¶ms) | |
ParametricFunction (int nparams) | |
virtual | ~ParametricFunction () |
virtual double | ErrorDef () const |
virtual std::vector< double > | GetGradient (const std::vector< double > &x) const |
virtual const std::vector< double > & | GetParameters () const |
virtual unsigned int | NumberOfParameters () const |
virtual double | operator() (const std::vector< double > &x) const =0 |
virtual double | operator() (const std::vector< double > &x, const std::vector< double > ¶ms) const |
virtual void | SetErrorDef (double) |
virtual void | SetParameters (const std::vector< double > ¶ms) const |
virtual double | Up () const =0 |
Protected Attributes | |
std::vector< double > | par |
|
inline |
Constructor which initializes the ParametricFunction with the parameters given as input.
params | vector containing the initial Parameter values |
Definition at line 59 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 72 of file ParametricFunction.h.
|
inlinevirtual |
Definition at line 76 of file ParametricFunction.h.
|
inlinevirtualinherited |
Error definition of the function. MINUIT defines Parameter errors as the change in Parameter Value required to change the function Value by up. Normally, for chisquared fits it is 1, and for negative log likelihood, its Value is 0.5. If the user wants instead the 2-sigma errors for chisquared fits, it becomes 4, as Chi2(x+n*sigma) = Chi2(x) + n*n.
Comment a little bit better with links!!!!!!!!!!!!!!!!!
Definition at line 93 of file FCNBase.h.
References ROOT::Minuit2::FCNBase::Up().
|
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. |
|
inlinevirtual |
Accessor for the state of the parameters.
Definition at line 105 of file ParametricFunction.h.
References par.
|
inlinevirtual |
Accessor for the number of parameters.
Definition at line 117 of file ParametricFunction.h.
References par.
|
pure virtual |
Evaluates the function with the given coordinates.
x | vector containing the input coordinates |
Implements ROOT::Minuit2::FCNBase.
Referenced by operator()().
|
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 154 of file ParametricFunction.h.
References operator()(), and SetParameters().
|
inlinevirtualinherited |
add interface to set dynamically a new error definition Re-implement this function if needed.
Reimplemented in ROOT::Minuit2::FumiliFCNAdapter< Function >, and ROOT::Minuit2::FCNAdapter< Function >.
|
inlinevirtual |
Sets the parameters of the ParametricFunction.
params | vector containing the Parameter values |
Definition at line 88 of file ParametricFunction.h.
References par.
Referenced by operator()().
|
pure virtualinherited |
Error definition of the function. MINUIT defines Parameter errors as the change in Parameter Value required to change the function Value by up. Normally, for chisquared fits it is 1, and for negative log likelihood, its Value is 0.5. If the user wants instead the 2-sigma errors for chisquared fits, it becomes 4, as Chi2(x+n*sigma) = Chi2(x) + n*n.
Implemented in ROOT::Minuit2::FumiliMaximumLikelihoodFCN, ROOT::Minuit2::FumiliFCNAdapter< Function >, ROOT::Minuit2::FumiliChi2FCN, ROOT::Minuit2::FCNGradAdapter< Function >, and ROOT::Minuit2::FCNAdapter< Function >.
Referenced by ROOT::Minuit2::FCNBase::ErrorDef().
|
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 191 of file ParametricFunction.h.
Referenced by GetParameters(), NumberOfParameters(), and SetParameters().