File indexing completed on 2025-12-16 10:29:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef ROOT_Minuit2_ModularFunctionMinimizer
0011 #define ROOT_Minuit2_ModularFunctionMinimizer
0012
0013 #include "Minuit2/MnConfig.h"
0014
0015 #include "Minuit2/MnStrategy.h"
0016
0017 #include <vector>
0018
0019 namespace ROOT {
0020
0021 namespace Minuit2 {
0022
0023 class MinimumSeedGenerator;
0024 class MinimumBuilder;
0025 class MinimumSeed;
0026 class MnFcn;
0027 class GradientCalculator;
0028 class MnUserParameterState;
0029 class MnUserParameters;
0030 class MnUserCovariance;
0031 class FCNBase;
0032 class FumiliFCNBase;
0033 class FunctionMinimum;
0034
0035
0036
0037
0038
0039
0040
0041 class ModularFunctionMinimizer {
0042
0043 public:
0044
0045 virtual ~ModularFunctionMinimizer() = default;
0046
0047 virtual FunctionMinimum Minimize(const FCNBase &, const MnUserParameterState &, const MnStrategy & = MnStrategy{1},
0048 unsigned int maxfcn = 0, double toler = 0.1) const;
0049
0050 virtual const MinimumSeedGenerator &SeedGenerator() const = 0;
0051 virtual const MinimumBuilder &Builder() const = 0;
0052 virtual MinimumBuilder &Builder() = 0;
0053
0054 public:
0055 virtual FunctionMinimum Minimize(const MnFcn &, const GradientCalculator &, const MinimumSeed &, const MnStrategy &,
0056 unsigned int, double) const;
0057 };
0058
0059 }
0060
0061 }
0062
0063 #endif