Logo ROOT   6.12/07
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 
18 namespace ROOT {
19 
20  namespace Minuit2 {
21 
22 
23 
24 double 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 
31 double 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 
42 double 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
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
determines the relative floating point arithmetic precision.
double sqrt(double)
double Ext2int(double Value, double Lower, const MnMachinePrecision &) const