ROOT   Reference Guide
Searching...
No Matches
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
20namespace Minuit2 {
21
22double SqrtLowParameterTransformation::Int2ext(double value, double lower) const
23{
24 /// internal to external transformation
25 double val = lower - 1. + std::sqrt(value * value + 1.);
26 return val;
27}
28
29double SqrtLowParameterTransformation::Ext2int(double value, double lower, const MnMachinePrecision &) const
30{
31 // external to internal transformation
32 double yy = value - lower + 1.;
33 double yy2 = yy * yy;
34 if (yy2 < 1.)
35 return 0;
36 else
37 return std::sqrt(yy2 - 1);
38}
39
40double SqrtLowParameterTransformation::DInt2Ext(double value, double) const
41{
42 // derivative of internal to external transofrmation : d (Int2Ext) / d Int
43 double val = value / (std::sqrt(value * value + 1.));
44 return val;
45}
46
47} // namespace Minuit2
48
49} // namespace ROOT
Sets the relative floating point (double) arithmetic precision.
double Ext2int(double Value, double Lower, const MnMachinePrecision &) const
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...