00001 // @(#)root/minuit2:$Id: MnPosDef.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_MnPosDef 00011 #define ROOT_Minuit2_MnPosDef 00012 00013 namespace ROOT { 00014 00015 namespace Minuit2 { 00016 00017 00018 class MinimumState; 00019 class MinimumError; 00020 class MnMachinePrecision; 00021 00022 /** 00023 Force the covariance matrix to be positive defined 00024 by adding extra terms in the diagonal 00025 */ 00026 class MnPosDef { 00027 00028 public: 00029 00030 MnPosDef() {} 00031 00032 ~MnPosDef() {} 00033 00034 MinimumState operator()(const MinimumState&, const MnMachinePrecision&) const; 00035 MinimumError operator()(const MinimumError&, const MnMachinePrecision&) const; 00036 private: 00037 00038 }; 00039 00040 } // namespace Minuit2 00041 00042 } // namespace ROOT 00043 00044 #endif // ROOT_Minuit2_MnPosDef