10 #ifndef ROOT_Minuit2_Numerical2PGradientCalculator
11 #define ROOT_Minuit2_Numerical2PGradientCalculator
25 class MnUserTransformation;
26 class MnMachinePrecision;
33 class Numerical2PGradientCalculator :
public GradientCalculator {
37 Numerical2PGradientCalculator(
const MnFcn& fcn,
38 const MnUserTransformation& par,
39 const MnStrategy& stra) :
40 fFcn(fcn), fTransformation(par), fStrategy(stra) {}
42 virtual ~Numerical2PGradientCalculator() {}
44 virtual FunctionGradient operator()(
const MinimumParameters&)
const;
49 virtual FunctionGradient operator()(
const std::vector<double>& params)
const;
54 virtual FunctionGradient operator()(
const MinimumParameters&,
55 const FunctionGradient&)
const;
57 const MnFcn& Fcn()
const {
return fFcn;}
58 const MnUserTransformation& Trafo()
const {
return fTransformation;}
59 const MnMachinePrecision& Precision()
const;
60 const MnStrategy& Strategy()
const {
return fStrategy;}
62 unsigned int Ncycle()
const;
63 double StepTolerance()
const;
64 double GradTolerance()
const;
69 const MnUserTransformation& fTransformation;
70 const MnStrategy& fStrategy;
77 #endif // ROOT_Minuit2_Numerical2PGradientCalculator