muMECH  1.0
legendreIntegrals.h
Go to the documentation of this file.
1 //********************************************************************************************************
2 // code: ### ### ##### #### ## ##
3 // ## ## ######## ## ## ## ## ##
4 // ## ## ## ## ## ### ## ######
5 // ## ## ## ## ## ## ## ## ##
6 // ##### ## ## ##### #### ## ##
7 // ##
8 //
9 // name: legendreIntegrals.h
10 // author(s): Jan Novak
11 // language: C, C++
12 // license: This program is free software; you can redistribute it and/or modify
13 // it under the terms of the GNU Lesser General Public License as published by
14 // the Free Software Foundation; either version 2 of the License, or
15 // (at your option) any later version.
16 //
17 // This program is distributed in the hope that it will be useful,
18 // but WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU Lesser General Public License for more details.
21 //
22 // You should have received a copy of the GNU Lesser General Public License
23 // along with this program; if not, write to the Free Software
24 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 //********************************************************************************************************
31 #ifndef MUMECH_ELL_INTEGRALS_H
32 #define MUMECH_ELL_INTEGRALS_H
33 
34 
35 namespace mumech {
36 
39 {
40  public:
44  virtual ~legendreIntegrals () {}
45 
47  static double ellf( double phi, double ak);
48 
50  static double elle( double phi, double ak);
51 
53  static double ellpi( double phi, double en, double ak);
54 
55 
56  protected:
57  //* *****************************************************************************************************
59  static double rf( double x, double y, double z );
60 
61  //* *****************************************************************************************************
63  static double rd( double x, double y, double z );
64  //* *****************************************************************************************************
66  static double rj( double x, double y, double z, double p );
67  //* *****************************************************************************************************
69  static double rc( double x, double y );
70 
71 };//end of class declaration
72 
73 } // end of namespace mumech
74 
75 #endif // end of MUMECH_ELL_INTEGRALS_H
76 
77 /*end of file*/
static double rc(double x, double y)
Solution of Carlson's degenerate elliptic integral - numerical recepies.
Class legendreIntegrals provides functions calculating values of elliptical integrals.
static double rf(double x, double y, double z)
Solution of Carlson's integral of the first kind - numerical recepies.
static double ellf(double phi, double ak)
Function calculating the Legendre's integral of the first kind - numerical recepies.
static double ellpi(double phi, double en, double ak)
Function calculating the Legendre's integral of the third kind - numerical recepies.
static double rj(double x, double y, double z, double p)
Solution of Carlson's integral of the third kind - numerical recepies.
virtual ~legendreIntegrals()
Destructor.
static double rd(double x, double y, double z)
Solution of Carlson's integral of the seccond kind - numerical recepies.
static double elle(double phi, double ak)
Function calculating the Legendre's integral of the seccond kind - numerical recepies.
legendreIntegrals()
Constructor.