Logo ROOT  
Reference Guide
ExternalInternalGradientCalculator.h
Go to the documentation of this file.
1// @(#)root/minuit2:$Id$
2// Authors: M. Winkler, F. James, L. Moneta, A. Zsenei, E.G.P. Bos 2003-2017
3
4/**********************************************************************
5 * *
6 * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT *
7 * *
8 **********************************************************************/
9
10#ifndef ROOT_Minuit2_ExternalInternalGradientCalculator
11#define ROOT_Minuit2_ExternalInternalGradientCalculator
12
14
15namespace ROOT {
16
17namespace Minuit2 {
18
19class FCNGradientBase;
20class MnUserTransformation;
21
22/// Similar to the AnalyticalGradientCalculator, the ExternalInternalGradientCalculator
23/// supplies Minuit with an externally calculated gradient. The main difference is that
24/// ExternalInternalGradientCalculator expects that the external gradient calculator does
25/// things in Minuit2-internal parameter space, which means many int2ext and ext2int
26/// transformation steps are not necessary. This avoids loss of precision in some cases,
27/// where trigonometrically transforming parameters back and forth can lose a few bits of
28/// floating point precision on every pass.
29
31
32public:
35 {
36 }
37
39
40 FunctionGradient operator()(const MinimumParameters &) const override;
41
42 FunctionGradient operator()(const MinimumParameters &, const FunctionGradient &) const override;
43};
44
45} // namespace Minuit2
46
47} // namespace ROOT
48
49#endif // ROOT_Minuit2_ExternalInternalGradientCalculator
Similar to the AnalyticalGradientCalculator, the ExternalInternalGradientCalculator supplies Minuit w...
ExternalInternalGradientCalculator(const FCNGradientBase &fcn, const MnUserTransformation &state)
FunctionGradient operator()(const MinimumParameters &) const override
class dealing with the transformation between user specified parameters (external) and internal param...
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.