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 class MnFcn;
24 class MnUserTransformation;
25 class MnMachinePrecision;
26 class MnStrategy;
27 
28 /**
29  class performing the numerical gradient calculation
30  */
31 
33 
34 public:
36  : fFcn(fcn), fTransformation(par), fStrategy(stra)
37  {
38  }
39 
41 
42  virtual FunctionGradient operator()(const MinimumParameters &) const;
43 
44  virtual FunctionGradient operator()(const std::vector<double> &params) const;
45 
46  virtual FunctionGradient operator()(const MinimumParameters &, const FunctionGradient &) const;
47 
48  const MnFcn &Fcn() const { return fFcn; }
49  const MnUserTransformation &Trafo() const { return fTransformation; }
50  const MnMachinePrecision &Precision() const;
51  const MnStrategy &Strategy() const { return fStrategy; }
52 
53  unsigned int Ncycle() const;
54  double StepTolerance() const;
55  double GradTolerance() const;
56 
57 private:
58  const MnFcn &fFcn;
61 };
62 
63 } // namespace Minuit2
64 
65 } // namespace ROOT
66 
67 #endif // ROOT_Minuit2_Numerical2PGradientCalculator
ROOT::Minuit2::Numerical2PGradientCalculator::Strategy
const MnStrategy & Strategy() const
Definition: Numerical2PGradientCalculator.h:51
ROOT::Minuit2::Numerical2PGradientCalculator::Trafo
const MnUserTransformation & Trafo() const
Definition: Numerical2PGradientCalculator.h:49
ROOT::Minuit2::MnFcn
Wrapper class to FCNBase interface used internally by Minuit.
Definition: MnFcn.h:30
GradientCalculator.h
ROOT::Minuit2::Numerical2PGradientCalculator::StepTolerance
double StepTolerance() const
Definition: Numerical2PGradientCalculator.cxx:244
ROOT::Minuit2::Numerical2PGradientCalculator::Fcn
const MnFcn & Fcn() const
Definition: Numerical2PGradientCalculator.h:48
ROOT::Minuit2::Numerical2PGradientCalculator::fFcn
const MnFcn & fFcn
Definition: Numerical2PGradientCalculator.h:58
ROOT::Minuit2::FunctionGradient
Definition: FunctionGradient.h:21
ROOT::Minuit2::Numerical2PGradientCalculator::Numerical2PGradientCalculator
Numerical2PGradientCalculator(const MnFcn &fcn, const MnUserTransformation &par, const MnStrategy &stra)
Definition: Numerical2PGradientCalculator.h:35
ROOT::Minuit2::Numerical2PGradientCalculator
class performing the numerical gradient calculation
Definition: Numerical2PGradientCalculator.h:32
ROOT::Minuit2::MinimumParameters
Definition: MinimumParameters.h:21
ROOT::Minuit2::Numerical2PGradientCalculator::fStrategy
const MnStrategy & fStrategy
Definition: Numerical2PGradientCalculator.h:60
ROOT::Minuit2::Numerical2PGradientCalculator::operator()
virtual FunctionGradient operator()(const MinimumParameters &) const
Definition: Numerical2PGradientCalculator.cxx:34
ROOT::Minuit2::MnMachinePrecision
Sets the relative floating point (double) arithmetic precision.
Definition: MnMachinePrecision.h:32
ROOT::Minuit2::Numerical2PGradientCalculator::Ncycle
unsigned int Ncycle() const
Definition: Numerical2PGradientCalculator.cxx:238
ROOT::Minuit2::Numerical2PGradientCalculator::~Numerical2PGradientCalculator
virtual ~Numerical2PGradientCalculator()
Definition: Numerical2PGradientCalculator.h:40
ROOT::Minuit2::MnUserTransformation
class dealing with the transformation between user specified parameters (external) and internal param...
Definition: MnUserTransformation.h:38
ROOT::Minuit2::Numerical2PGradientCalculator::Precision
const MnMachinePrecision & Precision() const
Definition: Numerical2PGradientCalculator.cxx:232
ROOT::Minuit2::Numerical2PGradientCalculator::GradTolerance
double GradTolerance() const
Definition: Numerical2PGradientCalculator.cxx:250
ROOT::Minuit2::MnStrategy
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
ROOT::Minuit2::Numerical2PGradientCalculator::fTransformation
const MnUserTransformation & fTransformation
Definition: Numerical2PGradientCalculator.h:59
ROOT::Minuit2::GradientCalculator
interface class for gradient calculators
Definition: GradientCalculator.h:23
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition: EExecutionPolicy.hxx:4
MnConfig.h