ROOT   6.08/07 Reference Guide
KelvinFunctions.h
Go to the documentation of this file.
1 // @(#)root/mathmore:$Id$
2
3 // CodeCogs GNU General Public License Agreement
4 // Copyright (C) 2004-2005 CodeCogs, Zyba Ltd, Broadwood, Holford, TA5 1DU,
5 // England.
6 //
7 // This program is free software; you can redistribute it and/or modify it
8 // under
10 // You must retain a copy of this licence in all copies.
11 //
12 // This program is distributed in the hope that it will be useful, but
13 // WITHOUT ANY
14 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 // FITNESS FOR A
16 // PARTICULAR PURPOSE. See the Adapted GNU General Public License for more
17 // details.
18 //
19 // *** THIS SOFTWARE CAN NOT BE USED FOR COMMERCIAL GAIN. ***
20 // ---------------------------------------------------------------------------------
21
22 #ifndef ROOT_Math_KelvinFunctions
23 #define ROOT_Math_KelvinFunctions
24
25 //////////////////////////////////////////////////////////////////////////
26 // //
27 // KelvinFunctions //
28 // //
29 // Calculates the Kelvin Functions Ber(x), Bei(x), Ker(x), Kei(x), and //
30 // their first derivatives. //
31 // //
32 //////////////////////////////////////////////////////////////////////////
33
34
35 namespace ROOT {
36 namespace Math {
37
39 {
40  public:
41  // The Kelvin functions and their first derivatives
42  static double Ber(double x);
43  static double Bei(double x);
44  static double Ker(double x);
45  static double Kei(double x);
46  static double DBer(double x);
47  static double DBei(double x);
48  static double DKer(double x);
49  static double DKei(double x);
50
51  // Utility functions appearing in the calculations of the Kelvin
52  // functions.
53  static double F1(double x);
54  static double F2(double x);
55  static double G1(double x);
56  static double G2(double x);
57  static double M(double x);
58  static double Theta(double x);
59  static double N(double x);
60  static double Phi(double x);
61
62  // Include and empty virtual desctructor to eliminate compiler warnings
63  virtual ~KelvinFunctions() {}
64
65  protected:
66  // Internal parameters used to control calculation method and convegence
67  static double fgMin;
68  static double fgEpsilon;
69
70 };
71
72 } // namespace Math
73 } // namespace ROOT
74
75
76 #endif
77
static double Ber(double x)
where x is real, and is the zeroth-order Bessel function of the first kind.
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
Definition: StringConv.hxx:21
static double DBei(double x)
Calculates the first derivative of Bei(x).
static double F1(double x)
Utility function appearing in the calculations of the Kelvin functions Bei(x) and Ber(x) (and their d...
Double_t x[n]
Definition: legend1.C:17
static double G1(double x)
Utility function appearing in the calculations of the Kelvin functions Bei(x) and Ber(x) (and their d...
static double Kei(double x)
where x is real, and is the zeroth-order modified Bessel function of the second kind...
static double DKer(double x)
Calculates the first derivative of Ker(x).
static double M(double x)
Utility function appearing in the asymptotic expansions of DBer(x) and DBei(x).
static double Bei(double x)
where x is real, and is the zeroth-order Bessel function of the first kind.
static double Theta(double x)
Utility function appearing in the asymptotic expansions of DBer(x) and DBei(x).
Namespace for new Math classes and functions.
static double G2(double x)
Utility function appearing in the calculations of the Kelvin functions Kei(x) and Ker(x) (and their d...
This class calculates the Kelvin functions Ber(x), Bei(x), Ker(x), Kei(x), and their first derivative...
static double DBer(double x)
Calculates the first derivative of Ber(x).
static double Phi(double x)
Utility function appearing in the asymptotic expansions of DKer(x) and DKei(x).
static double Ker(double x)
where x is real, and is the zeroth-order modified Bessel function of the second kind...
static double DKei(double x)
Calculates the first derivative of Kei(x).
static double F2(double x)
Utility function appearing in the calculations of the Kelvin functions Kei(x) and Ker(x) (and their d...
static double N(double x)
Utility function appearing in the asymptotic expansions of DKer(x) and DKei(x).