69    G4double p=0.0, qn=0.0, sig=0.0, un=0.0 ;
    70    const G4double maxDerivative = 0.99e30 ;
    78    if(pFirstDerStart > maxDerivative)
    94    for(i=1;i<fNumber-1;i++)
   103    if(pFirstDerFinish > maxDerivative)
   121    for(
G4int k=fNumber-2;k>=0;k--)
   151    G4int i=0, j=1, k=0 ;
   152    G4double mult=0.0, difi=0.0, deltaLow=0.0, deltaUp=0.0, 
cd=0.0, 
y=0.0 ;
   170       for(i=0;i<fNumber-j;i++)
   175          mult = deltaLow - deltaUp ;
   178             G4Exception(
"G4DataInterpolation::PolynomInterpolation()",
   182          d[i] = deltaUp*mult ;
   183          c[i] = deltaLow*mult ;
   185       y += (deltaY = (2*k < (fNumber - j -1) ? c[k+1] : d[k--] )) ;
   211       tempArgument[i] = cof[i] = 0.0 ;
   213    tempArgument[fNumber-1] = -
fArgument[0] ;
   217       for(j=fNumber-1-i;j<fNumber-1;j++)
   219          tempArgument[j] -= 
fArgument[i]*tempArgument[j+1] ;
   221       tempArgument[fNumber-1] -= 
fArgument[i] ;
   226       for(j=fNumber-1;j>=1;j--)
   228          factor = j*tempArgument[j] + factor*
fArgument[i] ;
   232       for(j=fNumber-1;j>=0;j--)
   234          cof[j] += mult*reducedY ;
   235          mult = tempArgument[j] + mult*
fArgument[i] ;
   238    delete[] tempArgument ;
   252    G4int i=0, j=1, k=0 ;
   254    G4double mult=0.0, difi=0.0, 
cd=0.0, 
y=0.0, cof=0.0 ;
   280       for(i=0;i<fNumber-j;i++)
   285          mult = cof - c[i+1] ;
   288             G4Exception(
"G4DataInterpolation::RationalPolInterpolation()",
   295       y += (deltaY = (2*k < (fNumber - j - 1) ? c[k+1] : d[k--] )) ;
   318    while((kHigh - kLow) > 1)
   320       k = (kHigh + kLow) >> 1 ; 
   331    if (!(deltaHL != 0.0))
   333       G4Exception(
"G4DataInterpolation::CubicSplineInterpolation()",
   336    G4double a = (fArgument[kHigh] - pX)/deltaHL ;
   337    G4double b = (pX - fArgument[kLow])/deltaHL ;
   359       G4Exception(
"G4DataInterpolation::FastCubicSpline()",
   362    G4double a = (fArgument[index+1] - pX)/delta ;
   382    while((kHigh - kLow) > 1)
   384       k = (kHigh + kLow) >> 1 ; 
   417    G4int kHigh=0, k=0, Increment=0 ;
   420    if(index < 0 || index > 
fNumber-1)
   436          while((pX >= 
fArgument[kHigh]) == ascend)
   439             Increment += Increment ;      
   440             kHigh = index + Increment ;
   460             if(Increment >= kHigh)
   467                index = kHigh - Increment ;
   474    while((kHigh - index) != 1)
   476       k = (kHigh + 
index) >> 1 ;
 G4double FastCubicSpline(G4double pX, G4int index) const
 
G4double CubicSplineInterpolation(G4double pX) const
 
G4int LocateArgument(G4double pX) const
 
static const G4double tolerance
 
G4DataInterpolation(G4double pX[], G4double pY[], G4int number)
 
G4double * fSecondDerivative
 
void PolIntCoefficient(G4double cof[]) const
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
static const G4double factor
 
void CorrelatedSearch(G4double pX, G4int &index) const
 
G4double RationalPolInterpolation(G4double pX, G4double &deltaY) const
 
G4double PolynomInterpolation(G4double pX, G4double &deltaY) const