201   G4bool isPreAssigned = (o_products != 0);   
   211   if ( (decaytable == 0) && !isExtDecayer &&!isPreAssigned ){
   213       G4cout <<  
"G4Decay::DoIt  : decay table not defined  for ";
   218                  "Decay table is not defined");
   232   } 
else if ( isExtDecayer ) {
   252     if ( decaychannel ==0) {
   255           " can not determine decay channel ");
   261     G4cout << 
"G4Decay::DoIt  : selected decay channel  addr:"    283   if (ParentEnergy < ParentMass) {
   285       G4cout << 
"G4Decay::DoIt  : Total Energy is less than its mass" << 
G4endl;
   287       G4cout << 
" Energy:"    << ParentEnergy/
MeV << 
"[MeV]";
   288       G4cout << 
" Mass:"    << ParentMass/
MeV << 
"[MeV]";
   293                  "Total Energy is less than its mass");
   294     ParentEnergy = ParentMass;
   301   G4double finalGlobalTime = aTrack.GetGlobalTime();
   302   G4double finalLocalTime = aTrack.GetLocalTime();
   303   if (aTrack.GetTrackStatus() == fStopButAlive ){
   308     if (isPreAssigned) products->
Boost( ParentEnergy, ParentDirection);
   311     if (!isExtDecayer) products->
Boost( ParentEnergy, ParentDirection);
   322     G4cout << 
"G4Decay::DoIt  : Decay vertex :";
   323     G4cout << 
" Time: " << finalGlobalTime/
ns << 
"[ns]";
   324     G4cout << 
" X:" << (aTrack.GetPosition()).
x() /
cm << 
"[cm]";
   325     G4cout << 
" Y:" << (aTrack.GetPosition()).
y() /
cm << 
"[cm]";
   326     G4cout << 
" Z:" << (aTrack.GetPosition()).
z() /
cm << 
"[cm]";
   328     G4cout << 
"G4Decay::DoIt  : decay products in Lab. Frame" << 
G4endl;
   335   for (index=0; index < numberOfSecondaries; index++)
   338      currentPosition = aTrack.GetPosition();
   340      G4Track* secondary = 
new G4Track( products->
PopProducts(),
   344      secondary->SetGoodForTrackingFlag();
   345      secondary->SetTouchableHandle(thand);
 
virtual G4DecayProducts * ImportDecayProducts(const G4Track &aTrack)=0
G4VExtDecayer * pExtDecayer
void Boost(G4double totalEnergy, const G4ThreeVector &momentumDirection)
void ClearNumberOfInteractionLengthLeft()
G4bool GetPDGStable() const
G4double GetTotalEnergy() const
const G4DecayProducts * GetPreAssignedDecayProducts() const
G4double fRemainderLifeTime
G4double GetKineticEnergy() const
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
void SetVerboseLevel(G4int value)
G4VDecayChannel * SelectADecayChannel(G4double parentMass=-1.)
G4DecayTable * GetDecayTable() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4int GetVerboseLevel() const
const G4ThreeVector & GetMomentumDirection() const
G4DynamicParticle * PopProducts()
virtual void DaughterPolarization(const G4Track &aTrack, G4DecayProducts *products)
G4ParticleDefinition * GetDefinition() const
G4int GetVerboseLevel() const
virtual G4DecayProducts * DecayIt(G4double parentMass=-1.0)=0
G4ParticleChangeForDecay fParticleChangeForDecay