Global time problem with Cf-252 source decay

Thank you for devotions for progress on Geant4.

I have one problem on Global time with Decay.

I used Cf-252 Decay with macro file for simulating the neutron generation.

Unfortunately, when I want to get the global time of each reaction, the global time only reflect the decay time (roughly same as the half-life of californium-252, ~2.62 years). Alike below table.

#column string Detector Name #column string Particle Name #column string Pre Reaction Name #column string Post Reaction Name #column string Pre Global Time #column string Post Global Time #column double Pre Reaction Local Time (ns) #column double Post Reaction Local Time (ns) #column double Deposited Energy (keV) #column double Pre Reaction Kinetic Energy (keV) #column double Post Reaction Kinetic Energy (keV) #column int Parent ID #column int Track ID #column int Event ID
LSDSensitiveDetector neutron Transportation hadElastic 7.69029E+16 7.69029E+16 38.9556 43.9667 36.7529 291.746 255.013 1 13 7465
LSDSensitiveDetector neutron hadElastic hadElastic 7.69029E+16 7.69029E+16 43.9667 49.6278 42.5737 255.013 212.455 1 13 7465
LSDSensitiveDetector neutron hadElastic hadElastic 7.69029E+16 7.69029E+16 49.6278 50.1838 0 212.455 13.1352 1 13 7465
LSDSensitiveDetector neutron hadElastic hadElastic 7.69029E+16 7.69029E+16 50.1838 63.4412 3.49121 13.1352 9.64594 1 13 7465

To get the real global time of each reaction, Which code do I have to modify?

Geant4 Version: 10.7.3
Operating System: Windows 11
Compiler/Version: Windows Visual Studio 2022
CMake Version: 3.28.0

We had a similar problem in our simulation framework. Because we developed our code with older G4 versions, we introduced our own wrapper process around G4RadioactiveDecay.

What the process does is to reset the global times of all the secondaries from a primary decay (i.e., if the Cf-252 or whatever has G4Track::ParentID()==0) to be zero. More precisely, we reset the secondaries to have their timestamp set equal to the global time of the Cf-252 primary track.

That eliminates the initial decay half-life from the rest of the event. But for any other decays along the way (the Cf-252 alpha chain, induced radioisotopes, whatever), those half-lives are properly accounted for.

It’s possible that G4RadioactiveDecay includes a flag to do this automatically now, but I just don’t know for sure.

Then, Did you mean that the modifying G4RadioactiveDecay class can help to solve this problem?

I will really appreciate to notice me about the way of modifying it.

I am definitely not recommending modifying the Geant4 source code. If you do that, you lose all hope of getting help and support, because the developers cannot know what code you’re actually running.

  1. Geant4 provides the ability to define a “WrapperProcess”, where you can do stuff on top of the official code. I suggest reviewing the documentation for that, including the Geant4 tutorials, and see whether it is suitable to your purpose.

  2. It is possible that the specific problem you have has been addressed in one of the Geant4 11-Series releases. I suggest reviewing the documentation for radioactive decay and see whether there’s a macro command or other configuration setting you could use to achieve your desired goal.

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