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_SqrtLowParameterTransformation 16 #define ROOT_Minuit2_SqrtLowParameterTransformation 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 Lower Parameter limits 28 */ 29 30 class SqrtLowParameterTransformation /* : public ParameterTransformation */ { 31 32 public: SqrtLowParameterTransformation()33 SqrtLowParameterTransformation() {} 34 ~SqrtLowParameterTransformation()35 ~SqrtLowParameterTransformation() {} 36 37 // transformation from internal to external 38 long double Int2ext(long double Value, long double Lower) const; 39 40 // transformation from external to internal 41 long double Ext2int(long double Value, long double Lower, const MnMachinePrecision &) const; 42 43 // derivative of transformation from internal to external 44 long double DInt2Ext(long double Value, long double Lower) const; 45 46 private: 47 }; 48 49 } // namespace Minuit2 50 51 } // namespace ROOT 52 53 #endif 54