10#ifndef ROOT_Minuit2_ParametricFunction
11#define ROOT_Minuit2_ParametricFunction
79 assert(params.size() ==
par.size());
80 par.assign(params.begin(), params.end());
116 double operator()(std::vector<double>
const&
x)
const override = 0;
135 virtual double operator()(std::vector<double>
const&
x, std::vector<double>
const& params)
const
154 virtual std::vector<double>
GetGradient(std::vector<double>
const&
x)
const;
166 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.
double operator()(std::vector< double > const &x) const override=0
Evaluates the function with the given coordinates.
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 inc...
virtual unsigned int NumberOfParameters() const
Accessor for the number of parameters.
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.
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.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...