#include <G4VGaussianQuadrature.hh>
Inheritance diagram for G4VGaussianQuadrature:
Public Member Functions | |
G4VGaussianQuadrature (function pFunction) | |
virtual | ~G4VGaussianQuadrature () |
G4double | GetAbscissa (G4int index) const |
G4double | GetWeight (G4int index) const |
G4int | GetNumber () const |
Protected Member Functions | |
G4double | GammaLogarithm (G4double xx) |
Protected Attributes | |
function | fFunction |
G4double * | fAbscissa |
G4double * | fWeight |
G4int | fNumber |
Definition at line 66 of file G4VGaussianQuadrature.hh.
G4VGaussianQuadrature::G4VGaussianQuadrature | ( | function | pFunction | ) | [explicit] |
G4VGaussianQuadrature::~G4VGaussianQuadrature | ( | ) | [virtual] |
Definition at line 77 of file G4VGaussianQuadrature.cc.
Referenced by G4GaussJacobiQ::G4GaussJacobiQ(), and G4GaussLaguerreQ::G4GaussLaguerreQ().
00078 { 00079 00080 // Returns the value ln(Gamma(xx) for xx > 0. Full accuracy is obtained for 00081 // xx > 1. For 0 < xx < 1. the reflection formula (6.1.4) can be used first. 00082 // (Adapted from Numerical Recipes in C) 00083 00084 static G4double cof[6] = { 76.18009172947146, -86.50532032941677, 00085 24.01409824083091, -1.231739572450155, 00086 0.1208650973866179e-2, -0.5395239384953e-5 } ; 00087 G4double x = xx - 1.0; 00088 G4double tmp = x + 5.5; 00089 tmp -= (x + 0.5) * std::log(tmp); 00090 G4double ser = 1.000000000190015; 00091 00092 for ( size_t j = 0; j <= 5; j++ ) 00093 { 00094 x += 1.0; 00095 ser += cof[j]/x; 00096 } 00097 return -tmp + std::log(2.5066282746310005*ser); 00098 }
Definition at line 55 of file G4VGaussianQuadrature.cc.
References fAbscissa.
00056 { 00057 return fAbscissa[index] ; 00058 }
G4int G4VGaussianQuadrature::GetNumber | ( | ) | const |
Definition at line 66 of file G4VGaussianQuadrature.cc.
References fNumber.
00067 { 00068 return fNumber ; 00069 }
Definition at line 61 of file G4VGaussianQuadrature.cc.
References fWeight.
00062 { 00063 return fWeight[index] ; 00064 }
G4double* G4VGaussianQuadrature::fAbscissa [protected] |
Definition at line 88 of file G4VGaussianQuadrature.hh.
Referenced by G4GaussChebyshevQ::G4GaussChebyshevQ(), G4GaussHermiteQ::G4GaussHermiteQ(), G4GaussJacobiQ::G4GaussJacobiQ(), G4GaussLaguerreQ::G4GaussLaguerreQ(), G4GaussLegendreQ::G4GaussLegendreQ(), GetAbscissa(), G4GaussLegendreQ::Integral(), G4GaussLaguerreQ::Integral(), G4GaussJacobiQ::Integral(), G4GaussHermiteQ::Integral(), G4GaussChebyshevQ::Integral(), and ~G4VGaussianQuadrature().
function G4VGaussianQuadrature::fFunction [protected] |
Definition at line 87 of file G4VGaussianQuadrature.hh.
Referenced by G4GaussLegendreQ::AccurateIntegral(), G4GaussLegendreQ::Integral(), G4GaussLaguerreQ::Integral(), G4GaussJacobiQ::Integral(), G4GaussHermiteQ::Integral(), G4GaussChebyshevQ::Integral(), and G4GaussLegendreQ::QuickIntegral().
G4int G4VGaussianQuadrature::fNumber [protected] |
Definition at line 90 of file G4VGaussianQuadrature.hh.
Referenced by G4GaussChebyshevQ::G4GaussChebyshevQ(), G4GaussHermiteQ::G4GaussHermiteQ(), G4GaussJacobiQ::G4GaussJacobiQ(), G4GaussLaguerreQ::G4GaussLaguerreQ(), G4GaussLegendreQ::G4GaussLegendreQ(), GetNumber(), G4GaussLegendreQ::Integral(), G4GaussLaguerreQ::Integral(), G4GaussJacobiQ::Integral(), G4GaussHermiteQ::Integral(), and G4GaussChebyshevQ::Integral().
G4double* G4VGaussianQuadrature::fWeight [protected] |
Definition at line 89 of file G4VGaussianQuadrature.hh.
Referenced by G4GaussChebyshevQ::G4GaussChebyshevQ(), G4GaussHermiteQ::G4GaussHermiteQ(), G4GaussJacobiQ::G4GaussJacobiQ(), G4GaussLaguerreQ::G4GaussLaguerreQ(), G4GaussLegendreQ::G4GaussLegendreQ(), GetWeight(), G4GaussLegendreQ::Integral(), G4GaussLaguerreQ::Integral(), G4GaussJacobiQ::Integral(), G4GaussHermiteQ::Integral(), G4GaussChebyshevQ::Integral(), and ~G4VGaussianQuadrature().