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 ...
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.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...