Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
SqrtUpParameterTransformation.cxx
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// Project : LCG
11// Package : Minuit
12// Author : Lorenzo.MONETA@cern.ch
13// Created by: moneta at Thu Apr 8 10:26:22 2004
14
17
18namespace ROOT {
19
20namespace Minuit2 {
21
22long double SqrtUpParameterTransformation::Int2ext(long double value, long double upper) const
23{
24 // internal to external transformation
25 long double val = upper + 1. - std::sqrt(value * value + 1.);
26 return val;
27}
28
29long double SqrtUpParameterTransformation::Ext2int(long double value, long double upper, const MnMachinePrecision &) const
30{
31 // external to internal transformation
32 long double yy = upper - value + 1.;
33 long double yy2 = yy * yy;
34 if (yy2 < 1.)
35 return 0;
36 else
37 return std::sqrt(yy2 - 1);
38}
39
40long double SqrtUpParameterTransformation::DInt2Ext(long double value, long double) const
41{
42 // derivative of internal to external transformation : d (Int2Ext ) / d Int
43 long double val = -value / (std::sqrt(value * value + 1.));
44 return val;
45}
46
47long double SqrtUpParameterTransformation::DExt2Int(long double value, long double upper) const
48{
49 // derivative of internal to external transformation : d (Ext2Int ) / d Ext
50 long double val = -(upper - value + 1) / (std::sqrt((upper - value + 1) * (upper - value + 1) - 1.));
51 return val;
52}
53
54} // namespace Minuit2
55
56} // namespace ROOT
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Sets the relative floating point (double) arithmetic precision.
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
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...