10#ifndef ROOT_Minuit2_ParametricFunction
11#define ROOT_Minuit2_ParametricFunction
81 assert(params.size() ==
par.size());
118 double operator()(
const std::vector<double> &
x)
const override = 0;
137 virtual double operator()(
const std::vector<double> &
x,
const std::vector<double> ¶ms)
const
156 virtual std::vector<double>
GetGradient(
const std::vector<double> &
x)
const;
168 mutable std::vector<double>
par;
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Function which has parameters.
ParametricFunction(int nparams)
Constructor which initializes the ParametricFunction by setting the number of parameters.
~ParametricFunction() override
ParametricFunction(const std::vector< double > ¶ms)
Constructor which initializes the ParametricFunction with the parameters given as input.
virtual double operator()(const std::vector< double > &x, const std::vector< double > ¶ms) const
Evaluates the function with the given coordinates and Parameter values.
virtual void SetParameters(const std::vector< double > ¶ms) const
Sets the parameters of the ParametricFunction.
virtual unsigned int NumberOfParameters() const
Accessor for the number of parameters.
virtual std::vector< double > GetGradient(const std::vector< double > &x) const
Member function returning the Gradient of the function with respect to its variables (but without inc...
std::vector< double > par
The vector containing the parameters of the function It is mutable for "historical reasons" as in the...
virtual const std::vector< double > & GetParameters() const
Accessor for the state of the parameters.
double operator()(const std::vector< double > &x) const override=0
Evaluates the function with the given coordinates.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.