56 G4int nBins = data.size() - 1;
68 if(d1 > 0.0 && d2 > 0.0) {
69 value = (std::log10(d1)*std::log10(e2/x) + std::log10(d2)*std::log10(x/e1)) / std::log10(e2/e1);
70 value = std::pow(10.,value);
72 value = (d1*std::log10(e2/x) + d2*std::log10(x/e1)) / std::log10(e2/e1);
90 G4int nBins = data.size() - 1;
104 G4double log_e2 = log_points[bin+1];
112 if (d1 > 0.0 && d2 > 0.0)
117 value = log_d1 + (log_d2 - log_d1)*(log_x - log_e1)/(log_e2 - log_e1);
123 value = std::pow(10.,value);
131 if (e1 == 0.0) e1 = 1e-300;
132 if (e2 == 0.0) e2 = 1e-300;
133 value = d1 + (d2 -
d1)*(log_x - log_e1)/(log_e2 - log_e1);
G4double Calculate(G4double point, G4int bin, const G4DataVector &energies, const G4DataVector &data) const
virtual G4VDataSetAlgorithm * Clone() const
G4LinLogLogInterpolation()
const G4double x[NPOINTSGL]
~G4LinLogLogInterpolation()