#include <G4GaussHermiteQ.hh>
Definition at line 60 of file G4GaussHermiteQ.hh.
 
◆ G4GaussHermiteQ() [1/2]
      
        
          | G4GaussHermiteQ::G4GaussHermiteQ  | 
          ( | 
          function  | 
          pFunction,  | 
        
        
           | 
           | 
          G4int  | 
          nHermite  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 37 of file G4GaussHermiteQ.cc.
   42    const G4int maxNumber = 12 ;
    46    G4double newton1=0.0, temp1=0.0, temp2=0.0, temp3=0.0, temp=0.0 ;
    57          newton0 = std::sqrt((
G4double)(2*nHermite + 1)) - 
    58                    1.85575001*std::pow((
G4double)(2*nHermite + 1),-0.16666999) ;
    62          newton0 -= 1.14001*std::pow((
G4double)nHermite,0.425999)/newton0 ;
    66          newton0 = 1.86002*newton0 - 0.86002*
fAbscissa[0] ;
    70          newton0 = 1.91001*newton0 - 0.91001*
fAbscissa[1] ;
    74          newton0 = 2.0*newton0 - 
fAbscissa[i - 3] ;
    76       for(k=1;k<=maxNumber;k++)
    80          for(j=1;j<=nHermite;j++)
    84             temp1 = newton0*std::sqrt(2.0/j)*temp2
    85                   - std::sqrt(((
G4double)(j - 1))/j)*temp3 ;
    87          temp = std::sqrt((
G4double)2*nHermite)*temp2 ;
    89          newton0 = newton1 - temp1/temp ;
    90          if(std::fabs(newton0 - newton1) <= tolerance) 
    99                      "Too many iterations in Gauss-Hermite constructor.") ;
   102       fWeight[i-1] = 2.0/(temp*temp) ;
 static const G4double tolerance
 
G4VGaussianQuadrature(function pFunction)
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
 
 
 
◆ G4GaussHermiteQ() [2/2]
◆ Integral()
      
        
          | G4double G4GaussHermiteQ::Integral  | 
          ( | 
           | ) | 
           const | 
        
      
 
 
◆ operator=()
The documentation for this class was generated from the following files: