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