Dear FLUKA community
As already discussed in a previous post (Non-Linear Electron Scintillation Efficiency in NaI(Tl) Crystals), I’m trying to implement my own weighting function to account for the non-proportional scintillation efficiency in NaI(Tl) crystals using a modified version of Birks law (which is unfortunately not available in the tcquench card). For that purpose, in a first step,I would like to validate my approach by imitating the tcquench card by the userweig card and the corresponding user routine comscw.f.
I’ve already implemented a simple test case with four NaI crystal blocks for both cases, i.e. one simulation with the eventbin + tcquench card and another simulation with the detect + userweig card (and of course the corresponding user routines usreou.f and comscw.f). Unfortuantely, I didn’t get exactly the same results for the both cases (see two figures below). Therefore, I’m wondering, if I have made an error somewhere. I have the following specific questions for you regarding the comscw.f user routine and the implementation of Birks law in FLUKA:
- I’ve implemented Birks law considering only the continuous energy deposition events by electrons in my NaI crystals (Ntrack = 1, Mtrack = 1,Jtrack=3),.i.e.:
IF (( Mtrack .EQ. ONEONE ) .AND. ( Ntrack .EQ. ONEONE ) .AND.
& ( Jtrack .EQ. THRTHR )) THEN
COMSCW = ONEONE / ( ONEONE + kB * Dtrack(1) / Ttrack(1))
More details can be found directly in the attached comscw.f routine. Note, that I’m using a Birks coefficient of 10^-2 [g MeV^-1 cm^-2] for all simulations (chosen arbitrarily for test purposes).
Is this approach correct? Does FLUKA consider also local deposition events (Ntrack = 0, Mtrack = 0) for the implementation of Birks law?
I’ve recognized that the Ttrack and Dtrack variables contain only non-zero variables in the first column of the arrays (for Ntrack = 1, Mtrack = 1). Therefore, I’m only considering Ttrack(1) and Dtrack(1) for my computations. Is this correct?
I’m assuming that the units of Ttrack and Dtrack are default, i.e. cm and GeV.
I have to add that I’ve validated both standard pulse height cards (i.e. eventbin and detect+usreou.f card) and they give exactly the same results. So, the error has to be somewhere in the comscw.f routine.
For your convenience, I’ve attached the input files as well as the corresponding user routines to this post.
Thank you so much for your support