10 #ifndef ROOT_Minuit2_FunctionMinimizer 
   11 #define ROOT_Minuit2_FunctionMinimizer 
   23 class FCNGradientBase;
 
   24 class FunctionMinimum;
 
   36 class FunctionMinimizer {
 
   40    virtual ~FunctionMinimizer() {}
 
   43    virtual FunctionMinimum Minimize(
const FCNBase&, 
const std::vector<double>& par, 
const std::vector<double>& err, 
unsigned int strategy, 
unsigned int maxfcn, 
double toler) 
const = 0;
 
   46    virtual FunctionMinimum Minimize(
const FCNGradientBase&, 
const std::vector<double>& par, 
const std::vector<double>& err, 
unsigned int strategy, 
unsigned int maxfcn, 
double toler) 
const = 0;
 
   49    virtual FunctionMinimum Minimize(
const FCNBase&, 
const std::vector<double>& par, 
unsigned int nrow, 
const std::vector<double>& cov, 
unsigned int strategy, 
unsigned int maxfcn, 
double toler) 
const = 0;
 
   52    virtual FunctionMinimum Minimize(
const FCNGradientBase&, 
const std::vector<double>& par, 
unsigned int nrow, 
const std::vector<double>& cov, 
unsigned int strategy, 
unsigned int maxfcn, 
double toler) 
const = 0;
 
   60 #endif  // ROOT_Minuit2_FunctionMinimizer