10 #ifndef ROOT_Minuit2_FumiliGradientCalculator
11 #define ROOT_Minuit2_FumiliGradientCalculator
23 class MnUserTransformation;
25 class FumiliGradientCalculator :
public GradientCalculator {
29 FumiliGradientCalculator(
const FumiliFCNBase& fcn,
const MnUserTransformation& state,
int n) :
31 fTransformation(state),
32 fHessian(MnAlgebraicSymMatrix(n) )
35 ~FumiliGradientCalculator() {}
37 FunctionGradient operator()(
const MinimumParameters&)
const;
39 FunctionGradient operator()(
const MinimumParameters&,
40 const FunctionGradient&)
const;
42 const MnUserTransformation& Trafo()
const {
return fTransformation;}
44 const MnAlgebraicSymMatrix & Hessian()
const {
return fHessian; }
48 const FumiliFCNBase& fFcn;
49 const MnUserTransformation& fTransformation;
50 mutable MnAlgebraicSymMatrix fHessian;
58 #endif // ROOT_Minuit2_FumiliGradientCalculator