70 G4cout <<
"G4JAEAElasticScatteringModel is constructed " <<
G4endl;
96 G4cout <<
"Calling Initialise() of G4JAEAElasticScatteringModel." <<
G4endl
109 char* path = std::getenv(
"G4LEDATA");
114 for(
G4int i=0; i<numOfCouples; ++i)
122 for (
G4int j=0; j<nelm; ++j)
153 G4cout <<
"Calling ReadData() of G4JAEAElasticScatteringModel"
159 const char* datadir = path;
163 datadir = std::getenv(
"G4LEDATA");
166 G4Exception(
"G4JAEAElasticScatteringModel::ReadData()",
"em0006",
168 "Environment variable G4LEDATA not defined");
179 std::ostringstream ostCS;
180 ostCS << datadir <<
"/JAEAESData/cs_Z_" << Z <<
".dat";
181 std::ifstream alldata(ostCS.str().c_str());
182 if(!alldata.is_open())
185 ed <<
"G4JAEAElasticScattering Model data file <" << ostCS.str().c_str()
186 <<
"> is not opened!" <<
G4endl;
188 ed,
"G4LEDATA version should be G4EMLOW6.27 or later. Elastic Scattering Data are not loaded");
194 G4cout <<
"File " << ostCS.str()
195 <<
" is opened by G4JAEAElasticScatteringModel" <<
G4endl;
198 while (!alldata.eof())
200 for (
int i=0; i<183;i++)
202 for (
int j=0; j<300; j++)
204 alldata >> ESdata[i][j];
218 for (
int i=0;i<300;i++)
239 G4cout <<
"G4JAEAElasticScatteringModel::ComputeCrossSectionPerAtom()"
249 if(intZ < 1 || intZ >
maxZ) {
return xs; }
258 if(!pv) {
return xs; }
266 }
else if(e >= pv->
Energy(0)) {
272 G4cout <<
"****** DEBUG: tcs value for Z=" << Z <<
" at energy (MeV)="
274 G4cout <<
" cs (Geant4 internal unit)=" << xs <<
G4endl;
275 G4cout <<
" -> first E*E*cs value in CS data file (iu) =" << (*pv)[0]
277 G4cout <<
" -> last E*E*cs value in CS data file (iu) =" << (*pv)[
n]
279 G4cout <<
"*********************************************************"
289 std::vector<G4DynamicParticle*>*,
295 G4cout <<
"Calling SampleSecondaries() of G4JAEAElasticScatteringModel"
328 for (
int i=0;i<=180;i++)
337 for (
int i=0; i<=180;i++)
339 cdfsum=cdfsum+
pdf[i];
345 int cdfindex = (
int)(cdfptr-
cdf-1);
361 G4ThreeVector finaldirection(sin(theta)*cos(phi), sin(theta)*sin(phi), cos(theta));
377 G4AutoLock l(&G4JAEAElasticScatteringModelMutex);