#ifndef ROOT_Minuit2_ModularFunctionMinimizer
#define ROOT_Minuit2_ModularFunctionMinimizer
#ifndef ROOT_Minuit2_MnConfig
#include "Minuit2/MnConfig.h"
#endif
#ifndef ROOT_Minuit2_FunctionMinimizer
#include "Minuit2/FunctionMinimizer.h"
#endif
#include <vector>
namespace ROOT {
namespace Minuit2 {
class MinimumSeedGenerator;
class MinimumBuilder;
class MinimumSeed;
class MnFcn;
class GradientCalculator;
class MnUserParameterState;
class MnUserParameters;
class MnUserCovariance;
class MnStrategy;
class FumiliFCNBase;
class ModularFunctionMinimizer : public FunctionMinimizer {
public:
virtual ~ModularFunctionMinimizer() {}
virtual FunctionMinimum Minimize(const FCNBase&, const std::vector<double>&, const std::vector<double>&, unsigned int stra=1, unsigned int maxfcn = 0, double toler = 0.1) const;
virtual FunctionMinimum Minimize(const FCNGradientBase&, const std::vector<double>&, const std::vector<double>&, unsigned int stra=1, unsigned int maxfcn = 0, double toler = 0.1) const;
virtual FunctionMinimum Minimize(const FCNBase&, const std::vector<double>&, unsigned int, const std::vector<double>&, unsigned int stra=1, unsigned int maxfcn = 0, double toler = 0.1) const;
virtual FunctionMinimum Minimize(const FCNGradientBase&, const std::vector<double>&, unsigned int, const std::vector<double>&, unsigned int stra=1, unsigned int maxfcn = 0, double toler = 0.1) const;
virtual FunctionMinimum Minimize(const FCNBase&, const MnUserParameters&, const MnStrategy&, unsigned int maxfcn = 0, double toler = 0.1) const;
virtual FunctionMinimum Minimize(const FCNGradientBase&, const MnUserParameters&, const MnStrategy&, unsigned int maxfcn = 0, double toler = 0.1) const;
virtual FunctionMinimum Minimize(const FCNBase&, const MnUserParameters&, const MnUserCovariance&, const MnStrategy&, unsigned int maxfcn = 0, double toler = 0.1) const;
virtual FunctionMinimum Minimize(const FCNGradientBase&, const MnUserParameters&, const MnUserCovariance&, const MnStrategy&, unsigned int maxfcn = 0, double toler = 0.1) const;
virtual FunctionMinimum Minimize(const FCNBase&, const MnUserParameterState&, const MnStrategy&, unsigned int maxfcn = 0, double toler = 0.1) const;
virtual FunctionMinimum Minimize(const FCNGradientBase&, const MnUserParameterState&, const MnStrategy&, unsigned int maxfcn = 0, double toler = 0.1) const;
virtual const MinimumSeedGenerator& SeedGenerator() const = 0;
virtual const MinimumBuilder& Builder() const = 0;
virtual MinimumBuilder& Builder() = 0;
public:
virtual FunctionMinimum Minimize(const MnFcn&, const GradientCalculator&, const MinimumSeed&, const MnStrategy&, unsigned int, double) const;
};
}
}
#endif // ROOT_Minuit2_ModularFunctionMinimizer
ModularFunctionMinimizer.h:1 ModularFunctionMinimizer.h:2 ModularFunctionMinimizer.h:3 ModularFunctionMinimizer.h:4 ModularFunctionMinimizer.h:5 ModularFunctionMinimizer.h:6 ModularFunctionMinimizer.h:7 ModularFunctionMinimizer.h:8 ModularFunctionMinimizer.h:9 ModularFunctionMinimizer.h:10 ModularFunctionMinimizer.h:11 ModularFunctionMinimizer.h:12 ModularFunctionMinimizer.h:13 ModularFunctionMinimizer.h:14 ModularFunctionMinimizer.h:15 ModularFunctionMinimizer.h:16 ModularFunctionMinimizer.h:17 ModularFunctionMinimizer.h:18 ModularFunctionMinimizer.h:19 ModularFunctionMinimizer.h:20 ModularFunctionMinimizer.h:21 ModularFunctionMinimizer.h:22 ModularFunctionMinimizer.h:23 ModularFunctionMinimizer.h:24 ModularFunctionMinimizer.h:25 ModularFunctionMinimizer.h:26 ModularFunctionMinimizer.h:27 ModularFunctionMinimizer.h:28 ModularFunctionMinimizer.h:29 ModularFunctionMinimizer.h:30 ModularFunctionMinimizer.h:31 ModularFunctionMinimizer.h:32 ModularFunctionMinimizer.h:33 ModularFunctionMinimizer.h:34 ModularFunctionMinimizer.h:35 ModularFunctionMinimizer.h:36 ModularFunctionMinimizer.h:37 ModularFunctionMinimizer.h:38 ModularFunctionMinimizer.h:39 ModularFunctionMinimizer.h:40 ModularFunctionMinimizer.h:41 ModularFunctionMinimizer.h:42 ModularFunctionMinimizer.h:43 ModularFunctionMinimizer.h:44 ModularFunctionMinimizer.h:45 ModularFunctionMinimizer.h:46 ModularFunctionMinimizer.h:47 ModularFunctionMinimizer.h:48 ModularFunctionMinimizer.h:49 ModularFunctionMinimizer.h:50 ModularFunctionMinimizer.h:51 ModularFunctionMinimizer.h:52 ModularFunctionMinimizer.h:53 ModularFunctionMinimizer.h:54 ModularFunctionMinimizer.h:55 ModularFunctionMinimizer.h:56 ModularFunctionMinimizer.h:57 ModularFunctionMinimizer.h:58 ModularFunctionMinimizer.h:59 ModularFunctionMinimizer.h:60 ModularFunctionMinimizer.h:61 ModularFunctionMinimizer.h:62 ModularFunctionMinimizer.h:63 ModularFunctionMinimizer.h:64 ModularFunctionMinimizer.h:65 ModularFunctionMinimizer.h:66 ModularFunctionMinimizer.h:67 ModularFunctionMinimizer.h:68 ModularFunctionMinimizer.h:69 ModularFunctionMinimizer.h:70 ModularFunctionMinimizer.h:71 ModularFunctionMinimizer.h:72 ModularFunctionMinimizer.h:73 ModularFunctionMinimizer.h:74 ModularFunctionMinimizer.h:75 ModularFunctionMinimizer.h:76 ModularFunctionMinimizer.h:77 ModularFunctionMinimizer.h:78 ModularFunctionMinimizer.h:79 ModularFunctionMinimizer.h:80 ModularFunctionMinimizer.h:81 ModularFunctionMinimizer.h:82 ModularFunctionMinimizer.h:83 ModularFunctionMinimizer.h:84 ModularFunctionMinimizer.h:85 ModularFunctionMinimizer.h:86 ModularFunctionMinimizer.h:87 ModularFunctionMinimizer.h:88 ModularFunctionMinimizer.h:89 ModularFunctionMinimizer.h:90 ModularFunctionMinimizer.h:91 ModularFunctionMinimizer.h:92 ModularFunctionMinimizer.h:93 ModularFunctionMinimizer.h:94 ModularFunctionMinimizer.h:95 ModularFunctionMinimizer.h:96 ModularFunctionMinimizer.h:97 ModularFunctionMinimizer.h:98 ModularFunctionMinimizer.h:99 ModularFunctionMinimizer.h:100