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);
static const G4double e1[44]
static const G4double e2[44]
virtual G4VDataSetAlgorithm * Clone() const
~G4LinLogLogInterpolation()
G4LinLogLogInterpolation()
G4double Calculate(G4double point, G4int bin, const G4DataVector &energies, const G4DataVector &data) const