Simulating Known Bremsstrahlung Curve

I’m working on code that simulates x-ray interactions. I have characterised x-ray output curves so I know the bremsstrahlung and characteristic emission curve shape, but the low x-ray yield from electrons is taking up a lot of run time. How can I simulate x-rays following this pre-characterised distribution (erasing the need for any incident electrons)?

Thank you!

Hi @LEley22,

I’m happy to help you with the problem you’ve described – however it’s not entirely clear to me if there is any step in particular that you are stuck on. So the advice I give will be broad.

First, do you know if the directionality of the photons you create is relevant for your use case? It sounds to me like you have characterized the photon energy spectrum, but you may not know the direction the photons are travelling in initially. Depending on what you are simulating this information will be more or less important.

In the situation that you think you can approximate your photons as all travelling in the same direction initially, I would direct you towards using Geant4 GPS to generate your photons (Link to documentation). If you take a look at the “User Defined Histograms” section, it will describe some of the details about how you can import your own energy histogram from which to sample particles from. If you take the bremsstrahlung and characteristic emission spectra that you have already calculated and import them as an energy histogram, then you can generate photons whose energies come from that spectrum. If you adopt this approach, I imagine you would set up a point source or planar surface source (from which the photons originate) and then sample the energies of photons from your energy spectrum.

In the situation that you have determined the directionality of your photons is relevant, then you will have to make use of something called a “phase-space”. Essentially, a phase-space is a file containing the data points: X, Y, Z, initial energy, and initial direction. I have less knowledge of working with phase-spaces in Geant4, but hopefully other posts on this forum could assist you with setting that up. If you determine that you need to make use of phase-space files, it may be best for you to make an additional forum post with phase-space in the title, that way that individuals who have more expertise with that can find your post and give you help with that.



thank you so much @JDecunha, these are both very helpful points! The directionality is not yet important but will become so, so all of this information is very valuable thank you :slight_smile:

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.