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