I am working (within the GATE collaboration) on GEANT4 simulations for PET. I found some bugs in the beta decay code concerning the fast (/grdm/fBeta 1) beta decay mode and some inconsistencies in the documentation. -- The bugs a) For beta+ decay a false endpoint energy is used for calculating the Fermi function. The Q value read in from the radioactive decay data file refers in the case of beta+ to the energy released in EC therefore E0 = Q - 2 * m_e and not E0 = Q as in the beta- case. The wrong value is only used in evaluating the Fermi function therefore the end-point energy is not affected. The result is a skewed energy distribution with a wrong mean value. b) The histogram bins are calculated in a strange way. it should read E=E0*(i+0.5)/100, i from [0,99] instead of E=E0*i/102, i from [1,100] This affects the energy distribution mainly near the end-point. After these changes the fast and the slow beta decay modes agree (checked on 4.5.2) -- In addition there are wrong comments in the documentation paragraph 33.2 (Sampling): E0 in formulae 33.1 and 33.2 is claimed to be the electron energy "given as a fraction of the end-point energy" It should read "given as a fraction of the electron mass". In the same paragraph it is claimed "...is performed either from histogrammed data, or through a three-body decay algorithm. In the latter case, the effect of the Coulomb barrier on the probability of beta+- -emission can also be taken into account using the Fermi function" This is misleading. The Fermi function is used in any case. Furthermore the simulation of the full (3 body) beta decay is programmed in a awfull inefficient way. This could be improved. The simples solution here is to modify the fast routine to get the correct 4-momenta of all particles. The pure 3-body decay distribution is flat within the limits (Dalitz plot) but is modified by the Fermi function in the beta decay case. Since the Fermi function only depends on E_electron the distribution for the neutrino is still flat within E_min(E_electron)<E_neutrino<E_max(E_electron). Therefore one can use the histogram to get E_electron and simulate E_neutrino by a flat distribution within the limits. (code is available) The time consumption for my simulations was totally dominated by the radioactive beta decay. With a modified version of G4NuclearDecayChannel.cc my simualtions run faster by a factor of about 30 even for the full 3 body case. At least (i.e. if there are any good reason not to change the slow code in GEANT4) in the documentation it should be pointed out more clearly that there is a fast option ((/grdm/fBeta 1) which gives a correct description of the electron energy distribution. I hope this helps to improve GEANT4 a bit. Best regards Dirk Kruecker
Thank you for reporting this. Fan, can you please have a look? Many greetings, Hans-Peter.
Hi Dirk, Thanks for the detailed report. Can you send me your modified code and I am most intersted in the improvement of the 3-body decay implementation. Also I appreciate if you can send me your comparison of beta spectra of the fast and slow simulations, before and after the bug corrections. Fan
Dear Fan, this one was resolev in 7.0, right? Can you please cose the error report? Many greetings, Hans-Peter.
Fixed in v7.0. Thanks a lot to Dirk Kruecker's input.