File indexing completed on 2025-09-17 09:14:08
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef ROOT_Minuit2_VariableMetricMinimizer
0011 #define ROOT_Minuit2_VariableMetricMinimizer
0012
0013 #include "Minuit2/MnConfig.h"
0014 #include "Minuit2/ModularFunctionMinimizer.h"
0015 #include "Minuit2/MnSeedGenerator.h"
0016 #include "Minuit2/VariableMetricBuilder.h"
0017
0018 namespace ROOT {
0019
0020 namespace Minuit2 {
0021
0022 class BFGSMinimizerType {
0023 };
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033 class VariableMetricMinimizer : public ModularFunctionMinimizer {
0034
0035 public:
0036 class BFGSType {
0037 };
0038
0039 VariableMetricMinimizer() = default;
0040
0041 VariableMetricMinimizer(BFGSType)
0042 : fMinSeedGen(MnSeedGenerator()), fMinBuilder(VariableMetricBuilder(VariableMetricBuilder::kBFGS))
0043 {
0044 }
0045
0046 const MinimumSeedGenerator &SeedGenerator() const override { return fMinSeedGen; }
0047 const MinimumBuilder &Builder() const override { return fMinBuilder; }
0048 MinimumBuilder &Builder() override { return fMinBuilder; }
0049
0050 private:
0051 MnSeedGenerator fMinSeedGen;
0052 VariableMetricBuilder fMinBuilder;
0053 };
0054
0055 }
0056
0057 }
0058
0059 #endif