Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
MnParameterTransformation.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_SinParameterTransformation
11#define ROOT_Minuit2_SinParameterTransformation
12
13namespace ROOT {
14
15namespace Minuit2 {
16
17class MnMachinePrecision;
18
19/**
20 class for the transformation for double-limited parameter
21 Using a sin function one goes from a double-limited parameter range to
22 an unlimited one
23 */
25public:
26 long double Int2ext(long double Value, long double Upper, long double Lower) const;
27 long double Ext2int(long double Value, long double Upper, long double Lower, const MnMachinePrecision &) const;
28 long double DInt2Ext(long double Value, long double Upper, long double Lower) const;
29 long double DExt2Int(long double Value, long double Upper, long double Lower) const;
30};
31
32/**
33 * Transformation from external to internal Parameter based on sqrt(1 + x**2)
34 *
35 * This transformation applies for the case of single side Lower Parameter limits
36 */
37
38class SqrtLowParameterTransformation /* : public ParameterTransformation */ {
39public:
40 // transformation from internal to external
41 long double Int2ext(long double Value, long double Lower) const;
42
43 // transformation from external to internal
44 long double Ext2int(long double Value, long double Lower, const MnMachinePrecision &) const;
45
46 // derivative of transformation from internal to external
47 long double DInt2Ext(long double Value, long double Lower) const;
48
49 // derivative of transformation from external to internal
50 long double DExt2Int(long double Value, long double Lower) const;
51};
52
53/**
54 * Transformation from external to internal Parameter based on sqrt(1 + x**2)
55 *
56 * This transformation applies for the case of single side Upper Parameter limits
57 */
58
59class SqrtUpParameterTransformation /* : public ParameterTransformation */ {
60public:
61 // transformation from internal to external
62 long double Int2ext(long double Value, long double Upper) const;
63
64 // transformation from external to internal
65 long double Ext2int(long double Value, long double Upper, const MnMachinePrecision &) const;
66
67 // derivative of transformation from internal to external
68 long double DInt2Ext(long double Value, long double Upper) const;
69
70 // derivative of transformation from external to internal
71 long double DExt2Int(long double Value, long double Upper) const;
72};
73
74} // namespace Minuit2
75
76} // namespace ROOT
77
78#endif // ROOT_Minuit2_SinParameterTransformation
Sets the relative floating point (double) arithmetic precision.
class for the transformation for double-limited parameter Using a sin function one goes from a double...
long double DInt2Ext(long double Value, long double Upper, long double Lower) const
long double DExt2Int(long double Value, long double Upper, long double Lower) const
long double Int2ext(long double Value, long double Upper, long double Lower) const
long double Ext2int(long double Value, long double Upper, long double Lower, const MnMachinePrecision &) const
Transformation from external to internal Parameter based on sqrt(1 + x**2)
long double DExt2Int(long double Value, long double Lower) const
long double Ext2int(long double Value, long double Lower, const MnMachinePrecision &) const
long double DInt2Ext(long double Value, long double Lower) const
long double Int2ext(long double Value, long double Lower) const
Transformation from external to internal Parameter based on sqrt(1 + x**2)
long double DExt2Int(long double Value, long double Upper) const
long double Int2ext(long double Value, long double Upper) const
long double DInt2Ext(long double Value, long double Upper) const
long double Ext2int(long double Value, long double Upper, const MnMachinePrecision &) const
Namespace for new ROOT classes and functions.