10 #ifndef ROOT_Minuit2_FCNGradAdapter
11 #define ROOT_Minuit2_FCNGradAdapter
13 #ifndef ROOT_Minuit2_FCNGradientBase
37 template<
class Function>
53 return fFunc.operator()(&v[0]);
56 return fFunc.operator()(
v);
61 std::vector<double>
Gradient(
const std::vector<double>&
v)
const {
65 std::cout <<
" gradient in FCNAdapter = { " ;
66 for (
unsigned int i = 0; i <
fGrad.size(); ++i)
67 std::cout <<
fGrad[i] <<
"\t";
68 std::cout <<
"}" << std::endl;
79 mutable std::vector<double>
fGrad;
88 #endif //ROOT_Minuit2_FCNGradAdapter
Namespace for new ROOT classes and functions.
template wrapped class for adapting to FCNBase signature a IGradFunction
Extension of the FCNBase for providing the analytical Gradient of the function.
double Up() const
Error definition of the function.
double operator()(const std::vector< double > &v) const
The meaning of the vector of parameters is of course defined by the user, who uses the values of thos...
FCNGradAdapter(const Function &f, double up=1.)
bool CheckGradient() const
std::vector< double > Gradient(const std::vector< double > &v) const
std::vector< double > fGrad
double operator()(const double *v) const