Anomalous electrons created in Pu-239 decay

Hi. I’ve encountered an issue with radioactive decay in Pu-239 and other nuclides with very low-energy daughter states. I’ve found a work-around but wanted to check here to see whether this is really a bug that needs to be reported or not.

Geant4.10.7.2
User code based on rdecay02 example
BiasedRDPhysics with G4Radioactivation
G4EmStandardPhysics with AugerCascade

Pu-239 decay data: http://www.lnhb.fr/nuclides/Pu-239_tables.pdf

My geometry is basically a calorimeter: a solid gold absorbing block with a radionuclide (Pu-239) point source at rest in the middle. The absorber is thick enough to absorb all radiation from Pu-239 decay. I am using rdm/nucleusLimits to limit decay to Pu-239.

/process/had/rdm/nucleusLimits 239 239 94 94

Therefore, I expect a single peak in the absorption spectrum at the Q value. For most alpha-emitting radionuclides this works (which is impressive given the complex cascade for some decays).

For Pu-239, I get anomalous high-energy events beyond the Q value. Looking at tracks, these are caused by ARM creating high-energy electrons in the cascade that shouldn’t be there. Note, Pu-239 decays through the very low energy (0.076 keV; 26 min lifetime) state in the daughter U-235. This state is highly converted. If I define UserEvaporation data in which I change the conversion coefficients for that state such that it decays by 100 % gamma, the anomaly goes away. Thus, my hypothesis is that the 0.076 keV state “breaks” the internal conversion code somehow. Maybe it is too low for K, L, M conversion so goes into a weird mode?

default evap

The other way I tried to work around it was to change the Threshold of Half Life in the G4Nuclide table such that the 0.076 keV state is treated as metastable, thus not included in the decay (if I understand that setting). This “works” in that the anomalous high-energy electrons are not created. But in this case, the 0.076 keV of energy is missing from the spectrum (I guess excluded by nucleusLimits). Thus, I don’t reproduce the Q value (which is the point of this test).

Low threshold

Note, I realize that in my real detector the 0.076 keV radiation will not be detected within the resolving time of the other decay radiation. This is just a test for recovering the Q value. And could come up in other decays. So I’d like to understand it.

G4NuclideTable::GetInstance()->SetThresholdOfHalfLife(10*minute); // 10 minutes is below 0.076 keV state lifetime
G4NuclideTable::GetInstance()->SetThresholdOfHalfLife(100*minute); // 100 minutes is above the 0.076 keV state lifetime	

Anyway, if anyone has insight as to whether this is a bug or a feature :slight_smile: please let me know. Thanks