#include <G4LogLogInterpolator.hh>
Inheritance diagram for G4LogLogInterpolator:

Public Member Functions | |
| G4LogLogInterpolator () | |
| ~G4LogLogInterpolator () | |
| G4double | Calculate (G4double point, G4int bin, const G4DataVector &energies, const G4DataVector &data) const | 
| virtual G4IInterpolator * | Clone () const | 
Definition at line 50 of file G4LogLogInterpolator.hh.
| G4LogLogInterpolator::G4LogLogInterpolator | ( | ) | 
| G4LogLogInterpolator::~G4LogLogInterpolator | ( | ) | 
| G4double G4LogLogInterpolator::Calculate | ( | G4double | point, | |
| G4int | bin, | |||
| const G4DataVector & | energies, | |||
| const G4DataVector & | data | |||
| ) |  const [virtual] | 
        
Implements G4IInterpolator.
Definition at line 54 of file G4LogLogInterpolator.cc.
00057 { 00058 G4int nBins = data.size() - 1; 00059 // ---- MGP ---- To be verified; value = 0. is redundant here 00060 G4double value = 0.; 00061 if (x < points[0] || x == 0.) 00062 { 00063 value = 0; 00064 } 00065 else if (bin < nBins) 00066 { 00067 G4double e1 = points[bin]; 00068 G4double e2 = points[bin+1]; 00069 G4double d1 = data[bin]; 00070 G4double d2 = data[bin+1]; 00071 00072 if (d1 != 0. && d2 != 0.) 00073 { 00074 value = (std::log10(d1)*std::log10(e2/x) + std::log10(d2)*std::log10(x/e1)) / std::log10(e2/e1); 00075 value = std::pow(10.,value); 00076 } 00077 else 00078 { 00079 value = 0.; 00080 } 00081 } 00082 else 00083 { 00084 value = data[nBins]; 00085 } 00086 00087 return value; 00088 }
| G4IInterpolator * G4LogLogInterpolator::Clone | ( | ) |  const [virtual] | 
        
Implements G4IInterpolator.
Definition at line 50 of file G4LogLogInterpolator.cc.
00051 { return new G4LogLogInterpolator; }
 1.4.7