SqrtUpParameterTransformation.cxx

Go to the documentation of this file.
00001 // @(#)root/minuit2:$Id: SqrtUpParameterTransformation.cxx 29068 2009-06-17 16:28:51Z moneta $
00002 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei   2003-2005  
00003 
00004 /**********************************************************************
00005  *                                                                    *
00006  * Copyright (c) 2005 LCG ROOT Math team,  CERN/PH-SFT                *
00007  *                                                                    *
00008  **********************************************************************/
00009 
00010 // Project   : LCG
00011 // Package   : Minuit
00012 // Author    : Lorenzo.MONETA@cern.ch 
00013 // Created by: moneta  at Thu Apr  8 10:26:22 2004
00014 
00015 
00016 #include "Minuit2/SqrtUpParameterTransformation.h"
00017 #include "Minuit2/MnMachinePrecision.h"
00018 
00019 namespace ROOT {
00020 
00021    namespace Minuit2 {
00022 
00023 
00024 
00025 double SqrtUpParameterTransformation::Int2ext(double value, double upper) const {
00026    // internal to external transformation
00027    double val = upper + 1. - sqrt( value*value + 1.);
00028    return val; 
00029 }
00030 
00031 
00032 double SqrtUpParameterTransformation::Ext2int(double value, double upper, const MnMachinePrecision& ) const {
00033    // external to internal transformation  
00034    double yy = upper - value + 1.; 
00035    double yy2 = yy*yy; 
00036    if (yy2 < 1.  ) 
00037       return 0; 
00038    else 
00039       return sqrt( yy2 -1); 
00040 }
00041 
00042 
00043 double SqrtUpParameterTransformation::DInt2Ext(double value, double) const {
00044    // derivative of internal to external transofrmation :  d (Int2Ext ) / d Int   
00045    double val = - value/( sqrt( value*value + 1.) );
00046    return val; 
00047 }
00048 
00049    }  // namespace Minuit2
00050 
00051 }  // namespace ROOT

Generated on Tue Jul 5 14:37:11 2011 for ROOT_528-00b_version by  doxygen 1.5.1