Logo ROOT   6.14/05
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
9 // the terms of the GNU General Public License as published by CodeCogs.
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 Phi(double x)
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
static double Theta(double x)
static double F1(double x)
static double Ber(double x)
static double Bei(double x)
Double_t x[n]
Definition: legend1.C:17
static double G2(double x)
static double M(double x)
static double G1(double x)
static double DKer(double x)
static double DKei(double x)
static double Kei(double x)
static double F2(double x)
static double N(double x)
static double Ker(double x)
static double DBei(double x)
Namespace for new Math classes and functions.
This class calculates the Kelvin functions Ber(x), Bei(x), Ker(x), Kei(x), and their first derivative...
static double DBer(double x)