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