Hello All,
I think I might understand what is going on with the decay vertices
in slic.
"Pre-defined" decays in Geant4 are somewhat tricky.
The decay channel and kinematics can be set by pre-defining
the daughter particles. However, the lifetime of the
intermediate decay is set by the time of creation of its daughters.
If that time is zero (which is the default), two things can happen:
1.) If Geant knows about the intermediate particle, then it will
throw a decay time from the known intermediate particle
properties. The intermediate particle is propagated for that length
of time and the (predefined) daughters are created at that time and
position, with modifications to account for change in direction and energy
loss. (Unless, of course, there was an interaction with material during
that time.)
2.) If Geant does not know about the particle (such as a long-lived
A' particle), then the decay time defaults to zero and all the
daughters are created at the point and time of creation of the parent.
So, in order to get the behavior we want, you need to set the creation
time for all particles correctly. For daughters of intermediate particles
it is the lifetime of the parent.
I hope this is clear. If not, please let me know and I can try to answer
any specific questions.
And the reason why our lcsim code does not correctly read the stdhep
files is because the "version number" in the begin run record is empty.
This should be fixed before generating any more events.
Norman