Angle-dependent Energy loss when Scattering (for Compton Scattering)

42 views
Skip to first unread message

Samuel Yap

unread,
Jan 6, 2025, 9:04:04 PM1/6/25
to mcx-users
Hi Dr Fang,

I would like to know if there is a way to provide user-defined post-scattering photon energies which are dependent on the angle of scatter. 

We had a brief email discussion a few months ago regarding using MCX for X-Ray Compton scatter simulations. From this, I had tested out a simulation pipeline in Geant4, which although provided me with pretty physically accurate results - was impractically slow for my use case as it was CPU bound. So much so that I am very much looking into MCX again as I will likely not need the simulation of secondary particles (as it would have a negligible effect on results).

For the simulations that I'm working on, I would really only need to concern myself with Compton scattering, which should hopefully simplify the process of adapting MCX to a limited subset of X-Ray phenomena. I should (hopefully) be able to formulate a discretised inverse CDF of the Klein-Nishina Compton scattering model to feed into MCX, however, the challenge arises when considering that the energy of the X-ray photon changes depending on the scattering angle, determined by the Compton energy formula:
Imaging - H3D, Inc.

I have been looking at the MCX implementation and pipeline flow, but can't seem to determine a place where this can be easily implemented without a bit of tweaking to the MCX codebase itself - so I suppose my primary enquiry would be if it is possible to have custom scattering energies dependent on incident photon energy and its scatter angle, and whether that would be a hefty modification if so.

Thanks for all the work you've done so far!

Kind regards,
Sam

Fang, Qianqian

unread,
Jan 6, 2025, 9:17:41 PM1/6/25
to mcx-users
Hi Sam,

You can add your energy update here


or


The first place is right after the scattering angles (azimuthal angle phi, and zenith angle, theta, along with their sines, sphi, stheta, and cosines, csphi, ctheta) are computed, and the 2nd place is after rotating the directional vector using these angles.

The photon packet's weight is p.w. Based on your formula, you can just compute your attenuation factor and multiply it to p.w. I don't know how you want to handle the lost energy. In the case of photon transport, mcx accumulates the lost energy to the voxel it traverses to form the output fluence map. If you need to store the lost energy somehow, you will need to add the memory writing to this section


Let me know if you have any additional question.

Qianqian


From: mcx-...@googlegroups.com <mcx-...@googlegroups.com> on behalf of Samuel Yap <samuel...@gmail.com>
Sent: Monday, January 6, 2025 3:33 PM
To: mcx-users <mcx-...@googlegroups.com>
Subject: [mcx-users] Angle-dependent Energy loss when Scattering (for Compton Scattering)
 
--
You received this message because you are subscribed to the Google Groups "mcx-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mcx-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/mcx-users/67eb56d5-dcfb-4672-8b90-9fc171b30a0bn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages