tudo-astroparticlephysics / PROPOSAL

Monte Carlo Simulation propagating charged Leptons through Media as C++ Library
GNU Lesser General Public License v3.0
35 stars 21 forks source link

Add new sampling method for photopair #346

Closed Jean1995 closed 1 year ago

Jean1995 commented 1 year ago

When investigating the two photopair angle sampling methods we currently use (Tsai and ForwardPeaked), I saw that the median value differs by quite a lot:

image

I looked in the EGS5 manual, where a very simple sampling method has been suggested with formula (2.157). I implemented this method as a test, and to my surprise, it reproduces the current implementation by Tsai quite well:

image

Note that both plots are created for an interaction of a 1e4 MeV Photon with a nitrogen atom.

However, the Sauter implementation is almost as quick as the crude EGS4 approximation, which itself is two order of magnitudes quicker than the Tsai sampling.

I am a bit surprised that the Sauter sampling methods reproduces the results by Tsai that well, especially since in the EGS5 manual, the method is called "a crude approximation even in its region of validity". This good agreement also does not change for different Z or energies. So probably, the Tsai calculation is much worse than I thought, or the Sauter approximation much better than they say in the EGS manual.

So maybe someone should investigate this a bit more before merging?

Jean1995 commented 1 year ago

One remaining question I have: Currently, we still use m/E (from EGS4) as the default sampling method.

Do we want to change the default to Sauter (because it produces better results, with a similar computational effort), or we want keep to keep the EGS4 approximation as a default?

sudojan commented 1 year ago

One remaining question I have: Currently, we still use m/E (from EGS4) as the default sampling method.

Do we want to change the default to Sauter (because it produces better results, with a similar computational effort), or we want keep to keep the EGS4 approximation as a default?

Good point, that I forgot. yes we should move to the default to Sauter