1 // @(#)root/minuit2:$Id$ 2 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei, E.G.P. Bos 2003-2017 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 #ifndef ROOT_Minuit2_SqrtUpParameterTransformation 16 #define ROOT_Minuit2_SqrtUpParameterTransformation 17 18 namespace ROOT { 19 20 namespace Minuit2 { 21 22 class MnMachinePrecision; 23 24 /** 25 * Transformation from external to internal Parameter based on sqrt(1 + x**2) 26 * 27 * This transformation applies for the case of single side Upper Parameter limits 28 */ 29 30 class SqrtUpParameterTransformation /* : public ParameterTransformation */ { 31 32 public: 33 // create with user defined precision SqrtUpParameterTransformation()34 SqrtUpParameterTransformation() {} 35 ~SqrtUpParameterTransformation()36 ~SqrtUpParameterTransformation() {} 37 38 // transformation from internal to external 39 long double Int2ext(long double Value, long double Upper) const; 40 41 // transformation from external to internal 42 long double Ext2int(long double Value, long double Upper, const MnMachinePrecision &) const; 43 44 // derivative of transformation from internal to external 45 long double DInt2Ext(long double Value, long double Upper) const; 46 47 private: 48 }; 49 50 } // namespace Minuit2 51 52 } // namespace ROOT 53 54 #endif 55