10 #ifndef ROOT_Minuit2_MnMigrad 
   11 #define ROOT_Minuit2_MnMigrad 
   31 class MnMigrad : 
public MnApplication {
 
   36    MnMigrad(
const FCNBase& fcn, 
const std::vector<double>& par, 
const std::vector<double>& err, 
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par,err), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
 
   39    MnMigrad(
const FCNBase& fcn, 
const std::vector<double>& par,  
unsigned int nrow, 
const std::vector<double>& cov, 
unsigned int stra = 1 ) : MnApplication(fcn, MnUserParameterState(par, cov, nrow), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
 
   42    MnMigrad(
const FCNBase& fcn, 
const std::vector<double>& par, 
const MnUserCovariance& cov, 
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
 
   45    MnMigrad(
const FCNBase& fcn, 
const MnUserParameters& par, 
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
 
   48    MnMigrad(
const FCNBase& fcn, 
const MnUserParameters& par, 
const MnUserCovariance& cov, 
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
 
   51    MnMigrad(
const FCNBase& fcn, 
const MnUserParameterState& par, 
const MnStrategy& str) : MnApplication(fcn, MnUserParameterState(par), str), fMinimizer(VariableMetricMinimizer()) {}
 
   56    MnMigrad(
const FCNGradientBase& fcn, 
const std::vector<double>& par, 
const std::vector<double>& err, 
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par,err), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
 
   59    MnMigrad(
const FCNGradientBase& fcn, 
const std::vector<double>& par,  
unsigned int nrow, 
const std::vector<double>& cov, 
unsigned int stra = 1 ) : MnApplication(fcn, MnUserParameterState(par, cov, nrow), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
 
   62    MnMigrad(
const FCNGradientBase& fcn, 
const std::vector<double>& par, 
const MnUserCovariance& cov, 
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
 
   65    MnMigrad(
const FCNGradientBase& fcn, 
const MnUserParameters& par, 
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
 
   68    MnMigrad(
const FCNGradientBase& fcn, 
const MnUserParameters& par, 
const MnUserCovariance& cov, 
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
 
   71    MnMigrad(
const FCNGradientBase& fcn, 
const MnUserParameterState& par, 
const MnStrategy& str) : MnApplication(fcn, MnUserParameterState(par), str), fMinimizer(VariableMetricMinimizer()) {}
 
   73    MnMigrad(
const MnMigrad& migr) : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer) {}
 
   77    ModularFunctionMinimizer& Minimizer() {
return fMinimizer;}
 
   78    const ModularFunctionMinimizer& Minimizer()
 const {
return fMinimizer;}
 
   82    VariableMetricMinimizer fMinimizer;
 
   87    MnMigrad& operator=(
const MnMigrad&) {
return *
this;}
 
   94 #endif  // ROOT_Minuit2_MnMigrad