Logo ROOT  
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 #include "Minuit2/MnConfig.h"
14 
16 
17 #include <vector>
18 
19 namespace ROOT {
20 
21  namespace Minuit2 {
22 
23 
24 class MnFcn;
25 class MnUserTransformation;
26 class MnMachinePrecision;
27 class MnStrategy;
28 
29 /**
30  class performing the numerical gradient calculation
31  */
32 
33 class Numerical2PGradientCalculator : public GradientCalculator {
34 
35 public:
36 
37  Numerical2PGradientCalculator(const MnFcn& fcn,
38  const MnUserTransformation& par,
39  const MnStrategy& stra) :
40  fFcn(fcn), fTransformation(par), fStrategy(stra) {}
41 
43 
44  virtual FunctionGradient operator()(const MinimumParameters&) const;
45 
46 
47 
48 
49  virtual FunctionGradient operator()(const std::vector<double>& params) const;
50 
51 
52 
53 
55  const FunctionGradient&) const;
56 
57  const MnFcn& Fcn() const {return fFcn;}
58  const MnUserTransformation& Trafo() const {return fTransformation;}
59  const MnMachinePrecision& Precision() const;
60  const MnStrategy& Strategy() const {return fStrategy;}
61 
62  unsigned int Ncycle() const;
63  double StepTolerance() const;
64  double GradTolerance() const;
65 
66 private:
67 
68  const MnFcn& fFcn;
70  const MnStrategy& fStrategy;
71 };
72 
73  } // namespace Minuit2
74 
75 } // namespace ROOT
76 
77 #endif // ROOT_Minuit2_Numerical2PGradientCalculator
ROOT::Minuit2::Numerical2PGradientCalculator::Strategy
const MnStrategy & Strategy() const
Definition: Numerical2PGradientCalculator.h:68
ROOT::Minuit2::Numerical2PGradientCalculator::Trafo
const MnUserTransformation & Trafo() const
Definition: Numerical2PGradientCalculator.h:66
ROOT::Minuit2::MnFcn
Wrapper class to FCNBase interface used internally by Minuit.
Definition: MnFcn.h:39
GradientCalculator.h
ROOT::Minuit2::Numerical2PGradientCalculator::StepTolerance
double StepTolerance() const
Definition: Numerical2PGradientCalculator.cxx:255
ROOT::Minuit2::Numerical2PGradientCalculator::Fcn
const MnFcn & Fcn() const
Definition: Numerical2PGradientCalculator.h:65
ROOT::Minuit2::Numerical2PGradientCalculator::fFcn
const MnFcn & fFcn
Definition: Numerical2PGradientCalculator.h:76
ROOT::Minuit2::FunctionGradient
Definition: FunctionGradient.h:29
ROOT::Minuit2::Numerical2PGradientCalculator::Numerical2PGradientCalculator
Numerical2PGradientCalculator(const MnFcn &fcn, const MnUserTransformation &par, const MnStrategy &stra)
Definition: Numerical2PGradientCalculator.h:45
ROOT::Minuit2::MinimumParameters
Definition: MinimumParameters.h:29
ROOT::Minuit2::Numerical2PGradientCalculator::fStrategy
const MnStrategy & fStrategy
Definition: Numerical2PGradientCalculator.h:78
ROOT::Minuit2::Numerical2PGradientCalculator::operator()
virtual FunctionGradient operator()(const MinimumParameters &) const
Definition: Numerical2PGradientCalculator.cxx:49
ROOT::Minuit2::Numerical2PGradientCalculator::Ncycle
unsigned int Ncycle() const
Definition: Numerical2PGradientCalculator.cxx:250
ROOT::Minuit2::Numerical2PGradientCalculator::~Numerical2PGradientCalculator
virtual ~Numerical2PGradientCalculator()
Definition: Numerical2PGradientCalculator.h:50
ROOT::Minuit2::MnUserTransformation
class dealing with the transformation between user specified parameters (external) and internal param...
Definition: MnUserTransformation.h:47
ROOT::Minuit2::Numerical2PGradientCalculator::Precision
const MnMachinePrecision & Precision() const
Definition: Numerical2PGradientCalculator.cxx:245
ROOT::Minuit2::Numerical2PGradientCalculator::GradTolerance
double GradTolerance() const
Definition: Numerical2PGradientCalculator.cxx:260
ROOT::Minuit2::MnStrategy
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:35
ROOT::Minuit2::Numerical2PGradientCalculator::fTransformation
const MnUserTransformation & fTransformation
Definition: Numerical2PGradientCalculator.h:77
ROOT
VSD Structures.
Definition: StringConv.hxx:21
MnConfig.h