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 transformation : 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
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 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
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.