Introduce time delay in a gamma source?

Hello everyone,

Is it possible to define a gamma source with a user-defined mean time lag between the gammas emitted ?

Thanks a lot!

Do you mean multiple gammas in a single event, with different timestamps, so you can study pile-up in your detector?

Or do you want each event to have a single gamma, but for the start time of each event to be non-zero, but rather monotonically increasing for the run?

Either one is possible, and both (I think) require that you write your own PrimaryGeneratorAction to calculate the timestamp you want. You can set the timestamp for each gamma as part of either filling the primary vertex yourself, or pass it to G4ParticleGun to let the latter create the primary vertex for you.

Thanks a lot for your response.

Yes, I am trying to have (say) two gammas g1, g2 per event with the user being able to specify some mean time between their emission.

I am using a GPS for the primarygenerator action.

#include "B1PrimaryGeneratorAction.hh"

    fparticlegun= new G4GeneralParticleSource;


 void B1PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) {

I see, can you please suggest some examples where this has been done ?
Is it possible to do this using macros?

Or is it possible to set the time for each gamma while defining a user-defined histogram for multi-energetic energy distributions?

Currently, if I am right, there is only an option to specify the energy bin and weight.

Also, I have a separate question, if could you please clarify?
1.) Having two different monoenergetic sources using source/add
2.) Having two gammas in the same source (say using user-defined histos)
What is the difference between the two? Is it that in (1) for one event only one source will be active?