Photon backscattering depth measurement and modifying angular distribution graph

Respected FLUKA experts,
I need your guidance on two nominal points.

  1. I need to score the depth from which the photons are being backscattered from inside a target and then enter the target. I am trying to achieve this using biasing method where I divided the target region into multiple regions e.g., many vertical slabs each of 2cm thickness and then using USRBDX to register the photons leaving the target. But it is very long and need multiple cards. Is there any other way? All I need is the depth of the photons scattered back to the detector.
  2. Besides this, I scored the double differential yield current for angular distribution to see at which angle most photons are being registered. For this I am using ie=Polar θ lab deg, and ia=Ekin GeV. I am getting X-axis as cosine. But I wand x-axis as the angular interval and the y-axis as the yield (N). I even tried to follow this post but it was not helpful for me (Angular distribution of USRYIELD - #9 by dbozzato)

Hi Abdul,

I will have a look into your problem and come back to you in few days with a more detailed answer, but first I would like to understand it better:

  1. If it’s not too complicated, could you please provide a FLUKA/Flair file that you are using for your simulation? Just to understand your geometry a bit better, it’s always easier to see it than just describing.

  2. You say

I need to score the depth from which the photons are being backscattered from inside a target and then enter the target.

If the photons are backscattered from inside the target then what do you mean by requiring that they THEN enter the target? I understand that you want to look at the ones that are already inside the target when they backscatter.

The very first idea that I have is that it would be the easiest to use the mgdraw.f routine where you could set up a certain logic asking for the position of each backscattered photon. I need to think how to do it in the most efficient way, but in the meantime you can have a look yourself in the manual
and on how to work with user routines


The detector is divided into multiple segments, each responsible for detecting radiation along a specific path or line of sight. To achieve this separation, a mechanism is employed to isolate each segment, ensuring that it only receives radiation along its designated path. In this case, stainless steel collimators are utilized to enhance, rather than remove, certain desired backscatter radiation. The geometry figure illustrates my intention to measure the depth at which scattered photons are being reflected back from the target.

This depth needs to be determined in order for the detector to collect photons that are backscattered from the object’s surface, as well as from hidden objects or voids beneath the surface. Additionally, this depth value will assist in determining the maximum depth level of the backscatter photon within a target of specific thickness.
In addition to the depth, I am interested in identifying the aperture number at which the backscattered photons will be counted by the detector.

Before utilizing this setup, it is necessary to ascertain the most suitable angle at which the detector can be positioned to maximize the number of backscattered photons. To accomplish this, I utilized USRYIELD to analyze the angular distribution in the AIR region. However, the resulting graph displays the cosine angle on the x-axis, whereas I want the angle in degrees.
I am also attaching the basic geometry file herewith.
I hope it make it clear for you.
Simple.flair (18.2 KB)
Simple.inp (4.5 KB)

I tried using BXDRAW of mgdraw.f with the following lines:
WRITE (IODRAW, *) NCASE, ‘from’,

But the results are not satisfactory. most of the photons are entering directly into the detector and very less are entering by the apertures and those number are not enough to be considered as a result.

Hi Abdul,

Let’s take a step back.
First of all, I would divide your apertures into separate regions so that you could set up an individual USRBDX between the aperture and the detector region for each of the apertures.

Now let’s try to clarify what is that you are actually trying to obtain from this simulation. Is it just the maximum depth of a primary photon interaction that could be seen in your detector? For that, you could parametrically increase the target thickness and check how your signal in all the detector channels (apertures) changes. You could achieve this for example with USRBDX set up as I described above. In this way you would be able to see at what target thickness the photon distribution does not change anymore.
Theoretically, the maximum interaction depth is always equal to the target thickness, it’s just the detection probability that goes down and at some point becomes so small that you don’t care anymore.

If you however want to know the backscattering depth distribution for each detector channel, you have to keep in mind that this problem is more complicated because of the fact that the primary photon can in principle initially scatter forward and then produce a secondary photon which eventually ends up in your detector. Also, the depth of the primary interaction would have to be propagated to all the secondaries in the electromagnetic shower so that it could be associated with the primary photon at the detection point. This is in principle possible, but would require to use the
STUPRE function:

Let me know,