66 fRemainderLifeTime(-1.0),
74 G4cout <<
"G4Decay constructor " <<
" Name:" << processName <<
G4endl;
156 pathlength = ( rKineticEnergy + 1.0)* aCtau;
157 }
else if ( rKineticEnergy <
DBL_MIN ) {
161 G4cout <<
"G4Decay::GetMeanFreePath() !!particle stops!!";
200 G4bool isPreAssigned = (o_products !=
nullptr);
210 if ( (decaytable ==
nullptr) && !isExtDecayer && !isPreAssigned ){
212 G4cout <<
"G4Decay::DoIt : decay table not defined for ";
217 <<
" decay probability exist but decay table is not defined "
218 <<
"- the particle will be killed;\n"
219 <<
" isExtDecayer: " << isExtDecayer
220 <<
"; isPreAssigned: " << isPreAssigned;
236 }
else if ( isExtDecayer ) {
256 if ( decaychannel ==
nullptr) {
259 ed <<
"Can not determine decay channel for "
261 <<
" mass of dynamic particle: "
263 <<
" dacay table has " << decaytable->
entries()
266 if (massParent < 0.) {
268 ed <<
"Using PDG mass ("<<checkedmass/
GeV
269 <<
"(GeV)) in IsOKWithParentMass" <<
G4endl;
273 ed << ic <<
": BR " << dc->
GetBR() <<
", IsOK? "
277 for (
G4int id=0;
id<ndaughters;++id) {
278 if (
id>0) ed <<
" + ";
289 G4cout <<
"G4Decay::DoIt : selected decay channel addr:"
311 if (ParentEnergy < ParentMass) {
313 ed <<
"Total Energy is less than its mass - increased the energy"
315 <<
"\n Energy:" << ParentEnergy/
MeV <<
"[MeV]"
316 <<
"\n Mass:" << ParentMass/
MeV <<
"[MeV]";
319 ParentEnergy = ParentMass;
333 if (isPreAssigned) products->
Boost( ParentEnergy, ParentDirection);
336 if (!isExtDecayer) products->
Boost( ParentEnergy, ParentDirection);
347 G4cout <<
"G4Decay::DoIt : Decay vertex :";
348 G4cout <<
" Time: " << finalGlobalTime/
ns <<
"[ns]";
353 G4cout <<
"G4Decay::DoIt : decay products in Lab. Frame" <<
G4endl;
360 for (index=0; index < numberOfSecondaries; index++){
425 if ( previousStepSize > 0.0){
438 G4cout <<
"G4Decay::PostStepGetPhysicalInteractionLength " <<
G4endl;
524 <<
"kinematics of daughters are dertermined by DecayChannels "
525 <<
" or by PreAssignedDecayProducts\n";