47 G4int low(0), high(0);
49 for (i0=0; i0<nEnergy; i0++)
52 if(theCoeff[i0].
GetEnergy()>anEnergy)
break;
65 for(i0=0; i0<601; i0++)
72 try01 += (2.*l+1)/2.*theCoeff[low].
GetCoeff(m_tmp)*theLeg.
Evaluate(l, costh);
74 if(try01>max1) max1=try01;
79 try02 += (2.*l+1)/2.*theCoeff[high].
GetCoeff(m_tmp)*theLeg.
Evaluate(l, costh);
81 if(try02>max2) max2=try02;
108 if(0>=theNorm)
break;
110 while(random>value/theNorm);
122 G4int low(0), high(0);
124 for (i0=0; i0<nEnergy; i0++)
127 if(theCoeff[i0].
GetEnergy()>anEnergy)
break;
140 for(i0=0; i0<601; i0++)
148 if(try01>max1) max1=try01;
154 if(try02>max2) max2=try02;
179 if(0>=theNorm)
break;
181 while(random>value/theNorm);
192 G4int low(0), high(0);
194 for (i0=0; i0<nEnergy; i0++)
197 if(theCoeff[i0].
GetEnergy()>anEnergy)
break;
206 G4double try01=0, try02=0, try11=0, try12=0;
243 while(random>value/theNorm);
251 G4int low(0), high(0);
253 for (i0=0; i0<nEnergy; i0++)
257 if(theCoeff[i0].
GetEnergy()>energy)
break;
268 for(i0=0; i0<601; i0++)
274 theBuffer.
SetData(i0, costh, y);
279 for (i0=1; i0<601; i0++)
282 if(rand < theBuffer.
GetY(i0)/theBuffer.
GetY(600))
break;
295 y1 = theBuffer.
GetX(it);
296 y2 = theBuffer.
GetX(it-1);
G4double GetY(G4double x)
G4double SampleMax(G4double energy)
G4double Integrate(G4int k, G4double costh)
G4double G4NeutronHPJENDLHEData::G4double result
G4double Evaluate(G4int l, G4double costh)
G4double GetX(G4int i) const
void SetData(G4int i, G4double x, G4double y)
G4double GetCoeff(G4int i, G4int l)
G4double Interpolate(G4InterpolationScheme aScheme, G4double x, G4double x1, G4double x2, G4double y1, G4double y2) const
G4double GetCoeff(G4int l)
G4double GetEnergy(G4int i)
G4double SampleElastic(G4double anEnergy)
G4InterpolationScheme GetScheme(G4int index) const
G4double SampleDiscreteTwoBody(G4double anEnergy)
T max(const T t1, const T t2)
brief Return the largest of the two arguments
G4double Sample(G4double energy)
const XML_Char int const XML_Char * value
G4double Integrate(G4int l, G4double costh)