VariableMetricBuilder.h

Go to the documentation of this file.
00001 // @(#)root/minuit2:$Id: VariableMetricBuilder.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_VariableMetricBuilder
00011 #define ROOT_Minuit2_VariableMetricBuilder
00012 
00013 #include "Minuit2/MnConfig.h"
00014 #include "Minuit2/MinimumBuilder.h"
00015 #include "Minuit2/VariableMetricEDMEstimator.h"
00016 #include "Minuit2/DavidonErrorUpdator.h"
00017 
00018 #include <vector>
00019 
00020 namespace ROOT {
00021 
00022    namespace Minuit2 {
00023 
00024 /**
00025    Build (find) function minimum using the Variable Metric method (MIGRAD) 
00026  */
00027 class VariableMetricBuilder : public MinimumBuilder {
00028 
00029 public:
00030 
00031   VariableMetricBuilder() : fEstimator(VariableMetricEDMEstimator()), 
00032                             fErrorUpdator(DavidonErrorUpdator()) {}
00033 
00034   ~VariableMetricBuilder() {}
00035 
00036   virtual FunctionMinimum Minimum(const MnFcn&, const GradientCalculator&, const MinimumSeed&, const MnStrategy&, unsigned int, double) const;
00037 
00038   FunctionMinimum Minimum(const MnFcn&, const GradientCalculator&, const MinimumSeed&, std::vector<MinimumState> &, unsigned int, double) const;
00039 
00040   const VariableMetricEDMEstimator& Estimator() const {return fEstimator;}
00041   const DavidonErrorUpdator& ErrorUpdator() const {return fErrorUpdator;}
00042 
00043 private:
00044 
00045   VariableMetricEDMEstimator fEstimator;
00046   DavidonErrorUpdator fErrorUpdator;
00047 };
00048 
00049   }  // namespace Minuit2
00050 
00051 }  // namespace ROOT
00052 
00053 #endif  // ROOT_Minuit2_VariableMetricBuilder

Generated on Tue Jul 5 14:25:46 2011 for ROOT_528-00b_version by  doxygen 1.5.1