Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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
35namespace ROOT {
36namespace 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
#define N
#define F1(x, y, z)
Definition TMD5.cxx:267
#define F2(x, y, z)
Definition TMD5.cxx:268
This class calculates the Kelvin functions Ber(x), Bei(x), Ker(x), Kei(x), and their first derivative...
static double Phi(double x)
Utility function appearing in the asymptotic expansions of DKer(x) and DKei(x).
static double DBei(double x)
Calculates the first derivative of Bei(x).
static double M(double x)
Utility function appearing in the asymptotic expansions of DBer(x) and DBei(x).
static double DKer(double x)
Calculates the first derivative of Ker(x).
static double Ker(double x)
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 DBer(double x)
Calculates the first derivative of Ber(x).
static double Theta(double x)
Utility function appearing in the asymptotic expansions of DBer(x) and DBei(x).
static double Ber(double x)
static double G2(double x)
Utility function appearing in the calculations of the Kelvin functions Kei(x) and Ker(x) (and their d...
static double Bei(double x)
static double DKei(double x)
Calculates the first derivative of Kei(x).
static double Kei(double x)
Double_t x[n]
Definition legend1.C:17
Namespace for new Math classes and functions.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.