Controlled Isomer decay

I am a newbie in Geant4. I am trying to simulate TC-99m ( using particle generation) decay and energy scoring in some regions. I have checked generated particles for each track using steppingaction, in which I found TC-99[142.7], Tc-99 and Ru-99. However, I only want to score energy due to decay of Tc-99m, and not due to Tc-99 ( which decays to Ru-99). How do I stop decaying Tc-99 and get energy due to decay of Tc-99m only.

If I understand your question you want to score the decay of 99mTc which emits a gamma of energy ~140.51 keV (89% BR) and low energy beta particles. [Table of Isotopes decay data] OR [MIRD]

You can score all decay products in a scoring region and later can use TCut class [root-cern] to eliminate non-interested particles and their energies.


Is there any Geant4 example for this? Or could you please suggest some reference?


To study radioactive decay there is well dedicated example rdecay01 in extended examples. For scoring or how to score interested products you can follow examples basic B1.
You need to merge both approaches to develop your model.

A further suggestion : Look rdecay01 and understand how it works. Understand what parameter to score. Once finish then look for scoring.


You could try to stop tracking (and kill) the Tc99 particle. This way you should not see the effect of its decay in you simulation.

This can be done in the SteppingAction as shown in the example below:

void SteppingAction::UserSteppingAction(const G4Step* step){
if (step->GetTrack()->GetParentID()>0){
G4String name = step->GetTrack()->GetParticleDefinition()->GetParticleName();
if ( name==“Tc99”) {

1 Like

Thanks for the help. This actually works. I asked to write particle name after kill and now there are no Tc99, only Tc99[142.7] and Tc99[140.511] are there which are expected.


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.