File indexing completed on 2025-10-15 09:14:48
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef ROOT_Minuit2_MnFumiliMinimize
0011 #define ROOT_Minuit2_MnFumiliMinimize
0012
0013 #include "Minuit2/MnApplication.h"
0014 #include "Minuit2/FumiliMinimizer.h"
0015 #include "Minuit2/FumiliFCNBase.h"
0016
0017 #include <vector>
0018
0019 namespace ROOT {
0020
0021 namespace Minuit2 {
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038 class MnFumiliMinimize : public MnApplication {
0039
0040 public:
0041
0042 MnFumiliMinimize(const FumiliFCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str = MnStrategy{1})
0043 : MnApplication(fcn, MnUserParameterState(par), str), fMinimizer(FumiliMinimizer()), fFCN(fcn)
0044 {
0045 }
0046
0047 MnFumiliMinimize(const MnFumiliMinimize &migr)
0048 : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer),
0049 fFCN(migr.Fcnbase())
0050 {
0051 }
0052
0053 FumiliMinimizer &Minimizer() override { return fMinimizer; }
0054 const FumiliMinimizer &Minimizer() const override { return fMinimizer; }
0055
0056 const FumiliFCNBase &Fcnbase() const override { return fFCN; }
0057
0058
0059 FunctionMinimum operator()(unsigned int = 0, double = 0.1) override;
0060
0061 private:
0062 FumiliMinimizer fMinimizer;
0063 const FumiliFCNBase &fFCN;
0064
0065 private:
0066
0067 MnFumiliMinimize &operator=(const MnFumiliMinimize &) { return *this; }
0068 };
0069
0070 }
0071
0072 }
0073
0074 #endif