Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
NegativeG2LineSearch.h
Go to the documentation of this file.
1 // @(#)root/minuit2:$Id$
2 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005
3 
4 /**********************************************************************
5  * *
6  * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT *
7  * *
8  **********************************************************************/
9 
10 #ifndef ROOT_Minuit2_NegativeG2LineSearch
11 #define ROOT_Minuit2_NegativeG2LineSearch
12 
13 namespace ROOT {
14 
15  namespace Minuit2 {
16 
17 
18 class MnFcn;
19 class MinimumState;
20 class GradientCalculator;
21 class MnMachinePrecision;
22 class FunctionGradient;
23 
24 /** In case that one of the components of the second derivative g2 calculated
25  by the numerical Gradient calculator is negative, a 1dim line search in
26  the direction of that component is done in order to find a better position
27  where g2 is again positive.
28  */
29 
30 class NegativeG2LineSearch {
31 
32 public:
33 
34  NegativeG2LineSearch() {}
35 
36  ~NegativeG2LineSearch() {}
37 
38  MinimumState operator()(const MnFcn&, const MinimumState&, const GradientCalculator&, const MnMachinePrecision&) const;
39 
40  bool HasNegativeG2(const FunctionGradient&, const MnMachinePrecision&) const;
41 
42 private:
43 
44 };
45 
46  } // namespace Minuit2
47 
48 } // namespace ROOT
49 
50 #endif // ROOT_Minuit2_NegativeG2LineSearch