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 D2Int2Ext(long double Value, long double Upper, long double Lower) const;
30 long double DExt2Int(long double Value, long double Upper, long double Lower) const;
31};
32
33/**
34 * Transformation from external to internal Parameter based on sqrt(1 + x**2)
35 *
36 * This transformation applies for the case of single side Lower Parameter limits
37 */
38
39class SqrtLowParameterTransformation /* : public ParameterTransformation */ {
40public:
41 // transformation from internal to external
42 long double Int2ext(long double Value, long double Lower) const;
43
44 // transformation from external to internal
45 long double Ext2int(long double Value, long double Lower, const MnMachinePrecision &) const;
46
47 // derivative of transformation from internal to external
48 long double DInt2Ext(long double Value, long double Lower) const;
49
50 // second derivative of transformation from internal to external
51 long double D2Int2Ext(long double Value, long double Lower) const;
52
53 // derivative of transformation from external to internal
54 long double DExt2Int(long double Value, long double Lower) const;
55};
56
57/**
58 * Transformation from external to internal Parameter based on sqrt(1 + x**2)
59 *
60 * This transformation applies for the case of single side Upper Parameter limits
61 */
62
63class SqrtUpParameterTransformation /* : public ParameterTransformation */ {
64public:
65 // transformation from internal to external
66 long double Int2ext(long double Value, long double Upper) const;
67
68 // transformation from external to internal
69 long double Ext2int(long double Value, long double Upper, const MnMachinePrecision &) const;
70
71 // derivative of transformation from internal to external
72 long double DInt2Ext(long double Value, long double Upper) const;
73
74 // second derivative of transformation from internal to external
75 long double D2Int2Ext(long double Value, long double Upper) const;
76
77 // derivative of transformation from external to internal
78 long double DExt2Int(long double Value, long double Upper) const;
79};
80
81} // namespace Minuit2
82
83} // namespace ROOT
84
85#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 D2Int2Ext(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 D2Int2Ext(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 D2Int2Ext(long double Value, long double Upper) const
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