Scintillator decay times - adding more than two?

Hello! I am simulated an organic scintillation detector. In DetectorConstruction I have added two decay times (fast and slow component), however plastic scintillators typically have three decay times. Does anyone know how I can add a further decay time to characterise my scintillator? Thank you.

It should be possible but will require coding. I’ll outline how to do it, with the understanding that I haven’t tried it and it may not work. Please post again if you run into difficulties.

  1. Inherit from G4Scintillation ( ) (or copy and rename, or modify it).

  2. The process assumes two time constants and you will need to expand it to three. In particular, there are the time constants, the rise times, the emission spectra, and the ratio of the fast to slow yields (yield ratio). The variables in the code appear to all have FAST/Fast or SLOW/Slow in their names. A simple but not easily extendable solution would be to add INTERMEDIATE and simply copy/paste new code. Better might be to number them. (Yield ratio is the exception–it will need to be generalized.) (This is the ugly part.)

  3. I don’t think anything will need to be done with materials code.

  4. Add the new process to your physics list.

That looks fairly complicated. Post back and I’ll help you with it. Maybe it should be added to the distribution.

Hello! Thank you so much for your advice on how to do this. I will try it out and get back to you.

Hi, this feature will be in the 10.7 beta release in a few weeks.

1 Like

I have an example with an implementation that allows for N time constants to be added. Therefore it can be expanded beyond 3 if required. The modifications to the scintillation code can be found here: The project the code is part of also demonstrates how to use the implementation. This implementation works with 10.4 and similar versions of Geant4 without having to upgrade to 10.7

1 Like


That’s great and would be really useful - thank you!