Logo ROOT   6.18/05
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 2003-2005
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
15
18
19namespace ROOT {
20
21 namespace Minuit2 {
22
23
24
25double SqrtUpParameterTransformation::Int2ext(double value, double upper) const {
26 // internal to external transformation
27 double val = upper + 1. - sqrt( value*value + 1.);
28 return val;
29}
30
31
32double SqrtUpParameterTransformation::Ext2int(double value, double upper, const MnMachinePrecision& ) const {
33 // external to internal transformation
34 double yy = upper - value + 1.;
35 double yy2 = yy*yy;
36 if (yy2 < 1. )
37 return 0;
38 else
39 return sqrt( yy2 -1);
40}
41
42
43double SqrtUpParameterTransformation::DInt2Ext(double value, double) const {
44 // derivative of internal to external transofrmation : d (Int2Ext ) / d Int
45 double val = - value/( sqrt( value*value + 1.) );
46 return val;
47}
48
49 } // namespace Minuit2
50
51} // namespace ROOT
double sqrt(double)
determines the relative floating point arithmetic precision.
double DInt2Ext(double Value, double Upper) const
double Ext2int(double Value, double Upper, const MnMachinePrecision &) const
double Int2ext(double Value, double Upper) const
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21