49 G4int low(0), high(0);
67 for(i0=0; i0<601; i0++)
76 if(try01>max1) max1=try01;
83 if(try02>max2) max2=try02;
110 if(0>=theNorm)
break;
112 while(random>value/theNorm);
124 G4int low(0), high(0);
142 for(i0=0; i0<601; i0++)
150 if(try01>max1) max1=try01;
156 if(try02>max2) max2=try02;
181 if(0>=theNorm)
break;
183 while(random>value/theNorm);
194 G4int low(0), high(0);
208 G4double try01=0, try02=0, try11=0, try12=0;
245 while(random>value/theNorm);
253 G4int low(0), high(0);
270 for(i0=0; i0<601; i0++)
276 theBuffer.
SetData(i0, costh, y);
281 for (i0=1; i0<601; i0++)
284 if(rand < theBuffer.
GetY(i0)/theBuffer.
GetY(600))
break;
295 x1 = theBuffer.
GetY(it)/norm;
296 x2 = theBuffer.
GetY(it-1)/norm;
297 y1 = theBuffer.
GetX(it);
298 y2 = theBuffer.
GetX(it-1);
G4double Integrate(G4int l, G4double costh)
G4double GetEnergy(G4int i)
G4double Integrate(G4int k, G4double costh)
void SetData(G4int i, G4double x, G4double y)
G4double SampleMax(G4double energy)
G4double SampleDiscreteTwoBody(G4double anEnergy)
G4double GetCoeff(G4int i, G4int l)
G4InterpolationScheme GetScheme(G4int index) const
G4double GetX(G4int i) const
G4double GetY(G4double x)
G4double Interpolate(G4InterpolationScheme aScheme, G4double x, G4double x1, G4double x2, G4double y1, G4double y2) const
G4InterpolationManager theManager
G4double Sample(G4double energy)
G4double SampleElastic(G4double anEnergy)
G4ParticleHPLegendreTable * theCoeff
T max(const T t1, const T t2)
brief Return the largest of the two arguments
G4double energy(const ThreeVector &p, const G4double m)
G4double Evaluate(G4int l, G4double costh)
G4double GetCoeff(G4int l)