70 using namespace G4InuclSpecialFunctions;
78 copy(aFragment, model);
115 return makeG4Fragment();
124 copy(a3DNucleus, model);
128 if (!a3DNucleus)
return;
183 G4double ekin_new = std::sqrt(emass*emass + ekin*(2.*
getMass()+ekin)) - emass;
197 if (0 == a && 0 == z)
return 0;
215 if (a<=0 || z<0 || a<z) {
216 G4cerr <<
" >>> G4InuclNuclei::makeNuclearFragment() called with"
217 <<
" impossible arguments A=" << a <<
" Z=" << z <<
G4endl;
219 "G4InuclNuclei impossible A/Z arguments");
229 static std::map<G4int, G4ParticleDefinition*> fragmentList;
230 if (fragmentList.find(code) != fragmentList.end())
return fragmentList[code];
233 std::stringstream zstr, astr;
252 "nucleus", 0, a, code,
254 true,
"generic", 0, 0.);
257 return (fragmentList[code] = fragPD);
269 theExitonConfiguration = right.theExitonConfiguration;
282 if (!theExitonConfiguration.
empty())
283 os <<
G4endl <<
" " << theExitonConfiguration;