10 #ifndef ROOT_Minuit2_ModularFunctionMinimizer
11 #define ROOT_Minuit2_ModularFunctionMinimizer
26 class MinimumSeedGenerator;
30 class GradientCalculator;
31 class MnUserParameterState;
32 class MnUserParameters;
33 class MnUserCovariance;
43 class ModularFunctionMinimizer :
public FunctionMinimizer {
47 virtual ~ModularFunctionMinimizer() {}
50 virtual FunctionMinimum Minimize(
const FCNBase&,
const std::vector<double>&,
const std::vector<double>&,
unsigned int stra=1,
unsigned int maxfcn = 0,
double toler = 0.1)
const;
52 virtual FunctionMinimum Minimize(
const FCNGradientBase&,
const std::vector<double>&,
const std::vector<double>&,
unsigned int stra=1,
unsigned int maxfcn = 0,
double toler = 0.1)
const;
54 virtual FunctionMinimum Minimize(
const FCNBase&,
const std::vector<double>&,
unsigned int,
const std::vector<double>&,
unsigned int stra=1,
unsigned int maxfcn = 0,
double toler = 0.1)
const;
56 virtual FunctionMinimum Minimize(
const FCNGradientBase&,
const std::vector<double>&,
unsigned int,
const std::vector<double>&,
unsigned int stra=1,
unsigned int maxfcn = 0,
double toler = 0.1)
const;
59 virtual FunctionMinimum Minimize(
const FCNBase&,
const MnUserParameters&,
const MnStrategy&,
unsigned int maxfcn = 0,
double toler = 0.1)
const;
61 virtual FunctionMinimum Minimize(
const FCNGradientBase&,
const MnUserParameters&,
const MnStrategy&,
unsigned int maxfcn = 0,
double toler = 0.1)
const;
63 virtual FunctionMinimum Minimize(
const FCNBase&,
const MnUserParameters&,
const MnUserCovariance&,
const MnStrategy&,
unsigned int maxfcn = 0,
double toler = 0.1)
const;
65 virtual FunctionMinimum Minimize(
const FCNGradientBase&,
const MnUserParameters&,
const MnUserCovariance&,
const MnStrategy&,
unsigned int maxfcn = 0,
double toler = 0.1)
const;
67 virtual FunctionMinimum Minimize(
const FCNBase&,
const MnUserParameterState&,
const MnStrategy&,
unsigned int maxfcn = 0,
double toler = 0.1)
const;
69 virtual FunctionMinimum Minimize(
const FCNGradientBase&,
const MnUserParameterState&,
const MnStrategy&,
unsigned int maxfcn = 0,
double toler = 0.1)
const;
82 virtual const MinimumSeedGenerator& SeedGenerator()
const = 0;
83 virtual const MinimumBuilder& Builder()
const = 0;
84 virtual MinimumBuilder& Builder() = 0;
88 virtual FunctionMinimum Minimize(
const MnFcn&,
const GradientCalculator&,
const MinimumSeed&,
const MnStrategy&,
unsigned int,
double)
const;
96 #endif // ROOT_Minuit2_ModularFunctionMinimizer