Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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
19namespace ROOT {
20
21namespace Minuit2 {
22
23class MnFcn;
24class MnUserTransformation;
25class MnMachinePrecision;
26class MnStrategy;
27
28/**
29 class performing the numerical gradient calculation
30 */
31
33
34public:
36 : fFcn(fcn), fTransformation(par), fStrategy(stra)
37 {
38 }
39
41
42 FunctionGradient operator()(const MinimumParameters &) const override;
43
44 virtual FunctionGradient operator()(const std::vector<double> &params) const;
45
46 FunctionGradient operator()(const MinimumParameters &, const FunctionGradient &) const override;
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
57private:
58 const MnFcn &fFcn;
61};
62
63} // namespace Minuit2
64
65} // namespace ROOT
66
67#endif // ROOT_Minuit2_Numerical2PGradientCalculator
interface class for gradient calculators
Wrapper class to FCNBase interface used internally by Minuit.
Definition MnFcn.h:30
Sets the relative floating point (double) arithmetic precision.
API class for defining four levels of strategies: low (0), medium (1), high (2), very high (>=3); act...
Definition MnStrategy.h:27
class dealing with the transformation between user specified parameters (external) and internal param...
class performing the numerical gradient calculation
FunctionGradient operator()(const MinimumParameters &) const override
Numerical2PGradientCalculator(const MnFcn &fcn, const MnUserTransformation &par, const MnStrategy &stra)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...