ROOT
v6-32
Reference Guide
Loading...
Searching...
No Matches
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
13
#include "
Minuit2/AnalyticalGradientCalculator.h
"
14
15
namespace
ROOT
{
16
17
namespace
Minuit2
{
18
19
class
FCNGradientBase
;
20
class
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
30
class
ExternalInternalGradientCalculator
:
public
AnalyticalGradientCalculator
{
31
32
public
:
33
ExternalInternalGradientCalculator
(
const
FCNGradientBase
&fcn,
const
MnUserTransformation
&trafo)
34
:
AnalyticalGradientCalculator
(fcn, trafo)
35
{
36
}
37
38
~ExternalInternalGradientCalculator
()
override
{}
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
AnalyticalGradientCalculator.h
ROOT::Minuit2::AnalyticalGradientCalculator::AnalyticalGradientCalculator
AnalyticalGradientCalculator(const FCNGradientBase &fcn, const MnUserTransformation &state)
Definition
AnalyticalGradientCalculator.h:27
ROOT::Minuit2::ExternalInternalGradientCalculator::~ExternalInternalGradientCalculator
~ExternalInternalGradientCalculator() override
Definition
ExternalInternalGradientCalculator.h:38
ROOT::Minuit2::ExternalInternalGradientCalculator::operator()
FunctionGradient operator()(const MinimumParameters &) const override
Definition
ExternalInternalGradientCalculator.cxx:21
ROOT::Minuit2::ExternalInternalGradientCalculator::ExternalInternalGradientCalculator
ExternalInternalGradientCalculator(const FCNGradientBase &fcn, const MnUserTransformation &trafo)
Definition
ExternalInternalGradientCalculator.h:33
ROOT::Minuit2::FCNGradientBase
Definition
FCNGradientBase.h:38
ROOT::Minuit2::FunctionGradient
Definition
FunctionGradient.h:21
ROOT::Minuit2::MinimumParameters
Definition
MinimumParameters.h:19
ROOT::Minuit2::MnUserTransformation
class dealing with the transformation between user specified parameters (external) and internal param...
Definition
MnUserTransformation.h:38
ROOT::Minuit2
Definition
ABObj.h:17
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition
EExecutionPolicy.hxx:4
math
minuit2
inc
Minuit2
ExternalInternalGradientCalculator.h
ROOT v6-32 - Reference Guide Generated on Tue May 19 2026 02:46:58 (GVA Time) using Doxygen 1.13.2