File indexing completed on 2025-10-30 08:54:35
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