61 theNames.
GetName(static_cast<G4int>(A), static_cast<G4int>(Z), M, dirName, tString, dbool);
85 G4int tempdep, nLegendre;
87 for (i=0; i < nEnergy; i++) {
88 theData >> temp >> energy >> tempdep >> nLegendre;
93 for (ii = 0; ii < nLegendre; ii++) {
106 G4int tempdep, nPoints;
107 for (
G4int i = 0; i < nEnergy; i++) {
108 theData >> temp >> energy >> tempdep >> nPoints;
114 for (
G4int ii = 0; ii < nPoints; ii++) {
116 theData >> costh >> prob;
124 G4int nEnergy_Legendre;
125 theData >> nEnergy_Legendre;
126 if (nEnergy_Legendre <= 0 ) {
127 std::stringstream iss;
128 iss <<
"G4ParticleHPElasticFS::Init Data Error repFlag is 3 but nEnergy_Legendre <= 0";
129 iss <<
"Z, A and M of problematic file is " <<
theNDLDataZ <<
", "
136 G4int tempdep, nLegendre;
138 for (
G4int i = 0; i < nEnergy_Legendre; i++) {
139 theData >> temp >> energy >> tempdep >> nLegendre;
144 for (
G4int ii = 0; ii < nLegendre; ii++) {
154 theData >> nEnergy_Prob;
158 for (
G4int i = 0; i < nEnergy_Prob; i++) {
159 theData >> temp >> energy >> tempdep >> nPoints;
166 G4cout <<
"Warning Transition Energy of repFlag3 is not consistent." <<
G4endl;
172 for (
G4int ii = 0; ii < nPoints; ii++) {
174 theData >> costh >> prob;
186 throw G4HadronicException(__FILE__, __LINE__,
"G4ParticleHPElasticFS::Init -- unusable number for repFlag");
222 G4double cmsMom = std::sqrt(the3CMS*the3CMS);
223 G4double sqrts = std::sqrt((totE-cmsMom)*(totE+cmsMom));
229 boosted.
Lorentz(theNeutron, theTarget);
252 "G4ParticleHPElasticFS::Init -- unusable number for repFlag");
255 if (cosTh < -1.1) {
return 0; }
268 theNeutron.
Lorentz(theNeutron, theTarget);
275 G4double sqt = std::sqrt(ratio*ratio - 1.0 + cosTh*cosTh);
278 G4double term1 = cosTh*(Einit*ratio + mN)/(mN*ratio + Einit);
279 G4double pN = beta*mN*(term1 + sqt)/denom;
288 pcmRot.
setX(px*cosTh*cosPhi - py*sinPhi + pz*sinth*cosPhi);
289 pcmRot.
setY(px*cosTh*sinPhi + py*cosPhi + pz*sinth*sinPhi);
290 pcmRot.
setZ(-px*sinth + pz*cosTh);
292 G4double eN = std::sqrt(pN*pN + mN*mN);
302 theNeutron.
Lorentz(theNeutron, toLab);
303 theTarget.
Lorentz(theTarget, toLab);
317 proj.
boost(boostToCM);
318 targ.
boost(boostToCM);
328 pcmRot.
setX(px*cosTh*cosPhi - py*sinPhi + pz*sinth*cosPhi);
329 pcmRot.
setY(px*cosTh*sinPhi + py*cosPhi + pz*sinth*sinPhi);
330 pcmRot.
setZ(-px*sinth + pz*cosTh);
335 proj.
boost(-boostToCM);
336 targ.
boost(-boostToCM);
357 "G4ParticleHPElasticFS::ApplyYourSelf frameflag incorrect");