We want to radioactive backgrounds in our experiment, specifically simulating Ag-108m contamination from solder and components on our circuit boards. The Ag-108m isomer is a very long-lived state (438 years), which can decay either via electron capture to Pd-108, or via internal transition (IT, emitting a pair of gammas) to the Ag-108 ground state. Both of these channels are relevant to our backgrounds budget.
I create an Ag-108m nucleus for G4ParticleGun
with
G4IonTable* ionTable = G4IonTable::GetIonTable();
G4ParticleDefinition* ag108m = ionTable->GetIon(47, 108, 0.*keV, G4Ions::plus_X);
(note that GetIon(Z, A, level)
generates an error message and fails) but it doesn’t appear to decay at all. Tracking shows:
G4WT0 > *********************************************************************************************************
G4WT0 > * G4Track Information: Particle = Ag108[0.000X], Track ID = 1, Parent ID = 0
G4WT0 > *********************************************************************************************************
G4WT0 >
G4WT0 > Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName
G4WT0 > 0 -11.4 -38.4 -7.95 0 0 0 0 Zip initStep
G4WT0 > 1 -11.4 -38.4 -7.95 0 0 0 0 Zip Scintillation
G4WT0 >
and then it goes on to the next event. The particle name string matches what I think I should see for an isomer.
To verify that RadioactiveDecay is present and active, I tried the same job using the Ag-108 ground state, which beta decays to Cd-108 in about 2 minutes:
G4ParticleDefintion* ag108 = ionTable->GetIon(47, 108, 0.*keV);
G4WT0 > *********************************************************************************************************
G4WT0 > * G4Track Information: Particle = Ag108, Track ID = 1, Parent ID = 0
G4WT0 > *********************************************************************************************************
G4WT0 >
G4WT0 > Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName
G4WT0 > 0 -20.7 31.3 -13.9 0 0 0 0 Zip initStep
G4WT0 > 1 -20.7 31.3 -13.9 0 0 0 0 Zip Scintillation
G4WT0 > :----- List of 2ndaries - #SpawnInStep= 3(Rest= 3,Along= 0,Post= 0), #SpawnTotal= 3 ---------------
G4WT0 > : -20.7 31.3 -13.9 7.01e-06 Cd108
G4WT0 > : -20.7 31.3 -13.9 0.93 anti_nu_e
G4WT0 > : -20.7 31.3 -13.9 0.716 e-
G4WT0 > :----------------------------------------------------------------- EndOf2ndaries Info ---------------
G4WT0 >
Here you see the decay, just as expected. I should have seen a similar “List of 2ndaries” above, with either X rays from electron capture, or a pair of gammas from the internal transition.
So, should RadioactiveDecay be handling isomer decays? Is there a hidden configuration option we need to set to enable this behaviour?