Message: Setting ion excited state properties in Geant4.10 Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Setting ion excited state properties in Geant4.10 

Forum: Particles
Date: 19 Nov, 2014
From: Lew Riley <Lew Riley>

I maintain a simulation code in which excited nuclei undergo gamma decay in flight. In order to fit simulations to measured gamma-ray spectra, the user varies the energies and lifetimes of the excited states of simulated ions.

With Geant4.9.6, I managed my ions with a G4ParticleTable in this way:

   G4ParticleDefinition* ion   = G4ParticleTable::GetParticleTable()->GetIon(Z, A, Ex);
   ion->SetPDGStable(false);
   ion->SetPDGLifeTime(tau);
   G4ParticleDefinition* ionGS = G4ParticleTable::GetParticleTable()->GetIon(Z, A, 0.);

Heeding the warnings to use the G4IonTable class starting with Geant4.10, I now have:

   G4IonTable* ionTable = (G4IonTable*)(G4ParticleTable::GetParticleTable()->GetIonTable());

   G4ParticleDefinition* ion   = ionTable->GetIon(Z, A , Ex);
   ion->SetPDGStable(false);
   ion->SetPDGLifeTime(tau);
   G4ParticleDefinition* ionGS = ionTable->GetIon(Z, A , 0.);

In both cases, I set up the gamma decay table as follows:

   G4DecayTable *DecTab = ion->GetDecayTable();
   G4NuclearDecayChannel *GamDec = new G4NuclearDecayChannel(IT,-1, ion, 1, Ex, A, Z, 0.);
   DecTab->Insert(GamDec);

and add the G4Decay process via the process manager.

The Geant4.9.6 version creates an entry in the G4ParticleTable with the excitation energy (Ex), stability flag, and state lifetime (tau) that I specify. Instances of these ions decay in flight as expected.

The Geant4.10 version using the G4IonTable populates the table with a large set of known nuclear ground states and isomers. When I try (as above) to add a new excited state, the stability flag is set to 1 (despite my setting it to 0), and the ion does not decay. For example, if I use G4IonTable::GetIon(44, 16, 2000.) to create an entry in the table describing an excited state of 44S at 2000 keV with a lifetime of 0., the entry in the G4IonTable is:

--- G4ParticleDefinition ---
 Particle Name : S44[2000.000]
 PDG particle code : 1000160449 [PDG anti-particle code: 0]
 Mass [GeV/c2] : 40.970456     Width : 0.000000
 Lifetime [nsec] : 0.000000
 Charge [e]: 16.000000
 Spin : 0/2
 Parity : 1
 Charge conjugation : 0
 Isospin : (I,Iz): (0/2 , 0/2 ) 
 GParity : 0
 Quark contents     (d,u,s,c,b,t) : 60, 72, 0, 0, 0, 0
 AntiQuark contents               : 0, 0, 0, 0, 0, 0
 Lepton number : 0 Baryon number : 44
 Particle type : nucleus [generic]
 Atomic Number : 16  Atomic Mass : 44
 Stable : No data found -- unknown

Note that the lifetime is set to 0, but its stability is unknown instead of unstable. G4ParticleDefinition::GetPDGStable() for this entry in the table returns 1.

Is there a way in Geant4.10.X to have complete control over the excitation energy, stability flag, and lifetime of an ion?

Best regards,

Lew

 Add Message Add Message
to: "Setting ion excited state properties in Geant4.10"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]