10 #ifndef ROOT_Minuit2_MnScan 
   11 #define ROOT_Minuit2_MnScan 
   31 class MnScan : 
public MnApplication {
 
   36    MnScan(
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(ScanMinimizer()) {}
 
   39    MnScan(
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(ScanMinimizer()) {}
 
   42    MnScan(
const FCNBase& fcn, 
const std::vector<double>& par, 
const MnUserCovariance& cov, 
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(ScanMinimizer()) {}
 
   45    MnScan(
const FCNBase& fcn, 
const MnUserParameters& par, 
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par), MnStrategy(stra)), fMinimizer(ScanMinimizer()) {}
 
   48    MnScan(
const FCNBase& fcn, 
const MnUserParameters& par, 
const MnUserCovariance& cov, 
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(ScanMinimizer()) {}
 
   51    MnScan(
const FCNBase& fcn, 
const MnUserParameterState& par, 
const MnStrategy& str) : MnApplication(fcn, MnUserParameterState(par), str), fMinimizer(ScanMinimizer()) {}
 
   53    MnScan(
const MnScan& migr) : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer) {}
 
   57    ModularFunctionMinimizer& Minimizer() {
return fMinimizer;}
 
   58    const ModularFunctionMinimizer& Minimizer()
 const {
return fMinimizer;}
 
   60    std::vector<std::pair<double, double> > Scan(
unsigned int par, 
unsigned int maxsteps = 41, 
double low = 0., 
double high = 0.);
 
   64    ScanMinimizer fMinimizer;
 
   69    MnScan& operator=(
const MnScan&) {
return *
this;}
 
   76 #endif  // ROOT_Minuit2_MnScan