Logo ROOT  
Reference Guide
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 transofrmation : d (Int2Ext ) / d Int
43 long double val = -value / (std::sqrt(value * value + 1.));
44 return val;
45}
46
47} // namespace Minuit2
48
49} // namespace ROOT
double sqrt(double)
Sets the relative floating point (double) arithmetic precision.
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...