Warning, file /include/root/Minuit2/MnApplication.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef ROOT_Minuit2_MnApplication
0011 #define ROOT_Minuit2_MnApplication
0012
0013 #include "Minuit2/MnUserParameterState.h"
0014 #include "Minuit2/MnStrategy.h"
0015
0016 #include <vector>
0017
0018 namespace ROOT {
0019
0020 namespace Minuit2 {
0021
0022 class FunctionMinimum;
0023 class MinuitParameter;
0024 class MnMachinePrecision;
0025 class ModularFunctionMinimizer;
0026 class FCNBase;
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 class MnApplication {
0037
0038 public:
0039
0040 MnApplication(const FCNBase &fcn, const MnUserParameterState &state, const MnStrategy &stra, unsigned int nfcn = 0);
0041
0042 virtual ~MnApplication() {}
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053 virtual FunctionMinimum operator()(unsigned int maxfcn = 0, double tolerance = 0.1);
0054
0055 virtual ModularFunctionMinimizer &Minimizer() = 0;
0056 virtual const ModularFunctionMinimizer &Minimizer() const = 0;
0057
0058 const MnMachinePrecision &Precision() const { return fState.Precision(); }
0059 MnUserParameterState &State() { return fState; }
0060 const MnUserParameterState &State() const { return fState; }
0061 const MnUserParameters &Parameters() const { return fState.Parameters(); }
0062 const MnUserCovariance &Covariance() const { return fState.Covariance(); }
0063 virtual const FCNBase &Fcnbase() const { return fFCN; }
0064 const MnStrategy &Strategy() const { return fStrategy; }
0065 unsigned int NumOfCalls() const { return fNumCall; }
0066
0067 protected:
0068 const FCNBase &fFCN;
0069 MnUserParameterState fState;
0070 MnStrategy fStrategy;
0071 unsigned int fNumCall;
0072 };
0073
0074 }
0075
0076 }
0077
0078 #endif