Logo ROOT   6.14/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 
19 namespace ROOT {
20 
21  namespace Minuit2 {
22 
23 
24 
25 double 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 
32 double 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 
43 double 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
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
determines the relative floating point arithmetic precision.
double sqrt(double)
double Int2ext(double Value, double Upper) const
double Ext2int(double Value, double Upper, const MnMachinePrecision &) const
double DInt2Ext(double Value, double Upper) const