Reaction chain for neutron capture event

Dear professors,
Following my last post Neutron captures and many related topics about parents and even ancestors like Infomation about parent particle, Information about particle ancestors and Stupre.f and stuprf.f routines / FLUKA stacks, I want to record the reaction chain for each neutron capture event. The picture shows what happen and what to record. I have done my tries in mgdraw.f and stuprf.f.

  1. As there are multiple particles in source.f in my case, I want to link the current neutron capture event to the right one and record the ancestor’s information (the pi in the example)
  2. Along the long reactions, I’m interested in the reaction that exactly produces the corresponding neutron. (the x_n in the example)
  3. After the neutron is produced, it will experience a long journey to slow down and be captured. I only aim at its kinetic energy at first. (when it is regarded as a secondary at point 2)
  4. At last, I’m wondering if the neutron is captured by carbon, hydrogen or other nucleus. Does it work if is included and ICRES, IBRES are used?

Besides problems concerning physics, there are still some related to the sources adapted from Geant4.

  1. There are two PGD ID 4212 and 4222 that do not have their FLUKA ID based on manual. How to deal with them then?
  2. How to treat 12C or 16O as source particles in source.f? I have tried in the uploaded file and I’m not sure if it’s right.

All the file are as followed. The sources are read from txt and it’s not complete because of limited size.
atm.inp (3.2 KB)
mgdraw.f (4.3 KB)
source.f (10.1 KB)
stuprf.f (2.1 KB)
gen_nu_e_CC.txt (94.3 KB)

Thank you for your help!
Best regard,
Hechong Han

Dear @hanhechong,

As far as the two last questions are concerned, as you have see in the list of particles in chapter 5 of the FLUKA manual, Σ^+_c and Σ^{++}_c are not in the list so I think you would have to discard them.
The way you treat the heavy ions in the source routine looks correct to me.

As far as flagging the ancestors is concerned, it is more or less clear to me what you want to do.
I believe the flagging should be done in mgdraw. You can have a look at the advanced lectures, particular those on advanced routines I and advanced routines II.