#include <G4ParticleHPInterpolator.hh>
|
| G4ParticleHPInterpolator () |
|
| ~G4ParticleHPInterpolator () |
|
G4double | Lin (G4double x, G4double x1, G4double x2, G4double y1, G4double y2) |
|
G4double | Interpolate (G4InterpolationScheme aScheme, G4double x, G4double x1, G4double x2, G4double y1, G4double y2) const |
|
G4double | Interpolate2 (G4InterpolationScheme aScheme, G4double x, G4double x1, G4double x2, G4double y1, G4double y2) const |
|
G4double | GetBinIntegral (const G4InterpolationScheme &aScheme, const G4double x1, const G4double x2, const G4double y1, const G4double y2) |
|
G4double | GetWeightedBinIntegral (const G4InterpolationScheme &aScheme, const G4double x1, const G4double x2, const G4double y1, const G4double y2) |
|
Definition at line 44 of file G4ParticleHPInterpolator.hh.
G4ParticleHPInterpolator::G4ParticleHPInterpolator |
( |
| ) |
|
|
inline |
G4ParticleHPInterpolator::~G4ParticleHPInterpolator |
( |
| ) |
|
|
inline |
Definition at line 36 of file G4ParticleHPInterpolator.cc.
46 result = 0.5*(y2+y1)*(x2-x1);
50 if(x1==0) result = y1;
51 else if(x2==0) result = y2;
56 result = (a-
b)*(x2-x1) + b*(x2*
G4Log(x2)-x1*
G4Log(x1));
71 result = (x2-x1)*(y2-y1)/
G4Log(y2/y1);
80 if(x1==0) result = y1;
81 else if(x2==0) result = y2;
82 else if(y1==0||y2==0) result =0;
92 throw G4HadronicException(__FILE__, __LINE__,
"Unknown interpolation scheme in G4ParticleHPVector::Integrate");
G4double G4ParticleHPJENDLHEData::G4double result
static G4Pow * GetInstance()
G4double powA(G4double A, G4double y) const
std::vector< ExP01TrackerHit * > a
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition at line 97 of file G4ParticleHPInterpolator.cc.
103 result = 0.5*y1*(x2*x2-x1*x1);
112 result = (y1*x2 - y2*x1)*(x2 + x1)/2. + (y2-y1)*(x2*x2 + x2*x1 + x1*x1)/3.;
116 if(x1==0) result = y1;
117 else if(x2==0) result = y2;
122 result = ( x2*x2/2. * (a-b/2.+b*
G4Log(x2)) )
123 -( x1*x1/2. * (a-b/2.+b*
G4Log(x1)) );
128 if(y1==0||y2==0) result = 0;
138 if(x1==0) result = y1;
139 else if(x2==0) result = y2;
140 else if(y1==0||y2==0) result = 0;
150 throw G4HadronicException(__FILE__, __LINE__,
"Unknown interpolation scheme in G4ParticleHPVector::Integrate");
G4double G4ParticleHPJENDLHEData::G4double result
static G4Pow * GetInstance()
G4double powA(G4double A, G4double y) const
std::vector< ExP01TrackerHit * > a
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition at line 91 of file G4ParticleHPInterpolator.hh.
95 G4int theScheme = aScheme;
102 result = LinearLinear(
x, x1, x2, y1, y2);
105 result = LinearLinear(
x, x1, x2, y1, y2);
108 result = LinearLogarithmic(
x, x1, x2, y1, y2);
111 result = LogarithmicLinear(
x, x1, x2, y1, y2);
114 result = LogarithmicLogarithmic(
x, x1, x2, y1, y2);
117 result = Random(
x, x1, x2, y1, y2);
121 throw G4HadronicException(__FILE__, __LINE__,
"G4ParticleHPInterpolator::Carthesian Invalid InterpolationScheme");
G4double G4ParticleHPJENDLHEData::G4double result
G4GLOB_DLL std::ostream G4cout
Definition at line 128 of file G4ParticleHPInterpolator.hh.
132 G4int theScheme = aScheme;
137 result = Histogram(
x, x1, x2, y1, y2);
140 result = LinearLinear(
x, x1, x2, y1, y2);
143 result = LinearLogarithmic(
x, x1, x2, y1, y2);
146 result = LogarithmicLinear(
x, x1, x2, y1, y2);
149 result = LogarithmicLogarithmic(
x, x1, x2, y1, y2);
152 result = Random(
x, x1, x2, y1, y2);
156 throw G4HadronicException(__FILE__, __LINE__,
"G4ParticleHPInterpolator::Carthesian Invalid InterpolationScheme");
G4double G4ParticleHPJENDLHEData::G4double result
G4GLOB_DLL std::ostream G4cout
The documentation for this class was generated from the following files: