Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
SqrtLowParameterTransformation.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 SqrtLowParameterTransformation::Int2ext(long double value, long double lower) const
23{
24 /// internal to external transformation
25 long double val = lower - 1. + std::sqrt(value * value + 1.);
26 return val;
27}
28
29long double
30SqrtLowParameterTransformation::Ext2int(long double value, long double lower, const MnMachinePrecision &) const
31{
32 // external to internal transformation
33 long double yy = value - lower + 1.;
34 long double yy2 = yy * yy;
35 if (yy2 < 1.)
36 return 0;
37 else
38 return std::sqrt(yy2 - 1);
39}
40
41long double SqrtLowParameterTransformation::DInt2Ext(long double value, long double) const
42{
43 // derivative of internal to external transofrmation : d (Int2Ext) / d Int
44 long double val = value / (std::sqrt(value * value + 1.));
45 return val;
46}
47
48} // namespace Minuit2
49
50} // namespace ROOT
Sets the relative floating point (double) arithmetic precision.
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
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...