00001 // @(#)root/minuit2:$Id: CombinedMinimumBuilder.h 20880 2007-11-19 11:23:41Z rdm $ 00002 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005 00003 00004 /********************************************************************** 00005 * * 00006 * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT * 00007 * * 00008 **********************************************************************/ 00009 00010 #ifndef ROOT_Minuit2_CombinedMinimumBuilder 00011 #define ROOT_Minuit2_CombinedMinimumBuilder 00012 00013 #include "Minuit2/MinimumBuilder.h" 00014 #include "Minuit2/VariableMetricMinimizer.h" 00015 #include "Minuit2/SimplexMinimizer.h" 00016 00017 namespace ROOT { 00018 00019 namespace Minuit2 { 00020 00021 00022 class CombinedMinimumBuilder : public MinimumBuilder { 00023 00024 public: 00025 00026 CombinedMinimumBuilder() : fVMMinimizer(VariableMetricMinimizer()), 00027 fSimplexMinimizer(SimplexMinimizer()) {} 00028 00029 ~CombinedMinimumBuilder() {} 00030 00031 virtual FunctionMinimum Minimum(const MnFcn&, const GradientCalculator&, const MinimumSeed&, const MnStrategy&, unsigned int, double) const; 00032 00033 private: 00034 00035 VariableMetricMinimizer fVMMinimizer; 00036 SimplexMinimizer fSimplexMinimizer; 00037 }; 00038 00039 } // namespace Minuit2 00040 00041 } // namespace ROOT 00042 00043 #endif // ROOT_Minuit2_CombinedMinimumBuilder