10 #ifndef ROOT_Minuit2_FunctionGradient
11 #define ROOT_Minuit2_FunctionGradient
21 class FunctionGradient {
27 explicit FunctionGradient(
unsigned int n) :
28 fData(MnRefCountedPointer<BasicFunctionGradient>(new BasicFunctionGradient(n))) {}
30 explicit FunctionGradient(
const MnAlgebraicVector& grd) :
31 fData(MnRefCountedPointer<BasicFunctionGradient>(new BasicFunctionGradient(grd))) {}
33 FunctionGradient(
const MnAlgebraicVector& grd,
const MnAlgebraicVector& g2,
34 const MnAlgebraicVector& gstep) :
35 fData(MnRefCountedPointer<BasicFunctionGradient>(new BasicFunctionGradient(grd, g2, gstep))) {}
37 ~FunctionGradient() {}
39 FunctionGradient(
const FunctionGradient& grad) : fData(grad.fData) {}
41 FunctionGradient& operator=(
const FunctionGradient& grad) {
46 const MnAlgebraicVector& Grad()
const {
return fData->Grad();}
47 const MnAlgebraicVector& Vec()
const {
return fData->Vec();}
48 bool IsValid()
const {
return fData->IsValid();}
50 bool IsAnalytical()
const {
return fData->IsAnalytical();}
51 const MnAlgebraicVector& G2()
const {
return fData->G2();}
52 const MnAlgebraicVector& Gstep()
const {
return fData->Gstep();}
56 MnRefCountedPointer<BasicFunctionGradient> fData;
63 #endif // ROOT_Minuit2_FunctionGradient