ROOT  6.06/09
Reference Guide
Numerical2PGradientCalculator.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_Numerical2PGradientCalculator
11 #define ROOT_Minuit2_Numerical2PGradientCalculator
12 
13 #ifndef ROOT_Minuit2_MnConfig
14 #include "Minuit2/MnConfig.h"
15 #endif
16 
17 #ifndef ROOT_Minuit2_GradientCalculator
19 #endif
20 
21 #include <vector>
22 
23 namespace ROOT {
24 
25  namespace Minuit2 {
26 
27 
28 class MnFcn;
29 class MnUserTransformation;
30 class MnMachinePrecision;
31 class MnStrategy;
32 
33 /**
34  class performing the numerical gradient calculation
35  */
36 
38 
39 public:
40 
43  const MnStrategy& stra) :
44  fFcn(fcn), fTransformation(par), fStrategy(stra) {}
45 
47 
48  virtual FunctionGradient operator()(const MinimumParameters&) const;
49 
50 
51 
52 
53  virtual FunctionGradient operator()(const std::vector<double>& params) const;
54 
55 
56 
57 
59  const FunctionGradient&) const;
60 
61  const MnFcn& Fcn() const {return fFcn;}
62  const MnUserTransformation& Trafo() const {return fTransformation;}
63  const MnMachinePrecision& Precision() const;
64  const MnStrategy& Strategy() const {return fStrategy;}
65 
66  unsigned int Ncycle() const;
67  double StepTolerance() const;
68  double GradTolerance() const;
69 
70 private:
71 
72  const MnFcn& fFcn;
75 };
76 
77  } // namespace Minuit2
78 
79 } // namespace ROOT
80 
81 #endif // ROOT_Minuit2_Numerical2PGradientCalculator
double par[1]
Definition: unuranDistr.cxx:38
Namespace for new ROOT classes and functions.
Definition: ROOT.py:1
determines the relative floating point arithmetic precision.
class performing the numerical gradient calculation
virtual FunctionGradient operator()(const MinimumParameters &) const
Numerical2PGradientCalculator(const MnFcn &fcn, const MnUserTransformation &par, const MnStrategy &stra)
Wrapper class to FCNBase interface used internally by Minuit.
Definition: MnFcn.h:33
class dealing with the transformation between user specified parameters (external) and internal param...
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
interface class for gradient calculators