Hi everyone,
I'm currently running X-ray spectra simulations using the Monte Carlo method. However, I've encountered a couple of issues:
1. The simulation results consistently include Poisson noise, even though I have specified in the script:withPoisson=False2. The generated X-ray spectra appear to be limited to a fixed energy range (10 keV in my case) and a fixed bin size (5 eV in my case).
Could anyone advise on how to: 1) Eliminate the Poisson noise from the simulation results? 2) Modify the energy range of the X-ray spectra within the script? 3) Adjust the bin size within the script?
I'd appreciate any insights or suggestions. Thank you very much!
My script for your reference:
import dtsa2.mcSimulate3 as mc3
mc3.multiFilm([[Graphite,2e-6]],d1,e0=200.0,withPoisson=False,nTraj=50000,dose=50000).display()
I think the problem is your detector 'd1'. You might define a custom detector with the parameters you want. Let's call it 'ZhaiQ detector' and then load it using 'findDetector(..)'
> det = findDetector("ZhaiQ detector")
> mc3.multiFilm([[Graphite,2e-6]],det,e0=200.0,withPoisson=False,nTraj=50000,dose=50000).display()
The detector labeled 'd1' refers to a custom detector I defined based on my experimental conditions. It indeed has a bin size of 5 eV. Could this be the reason for the fixed energy bin size and energy range in the output?
If so, may I ask how I can extract the theoretical spectra without the limitations on bin size and energy range? At the same time, I would like to retain the collection angle and solid angle.
Additionally, I noticed that the noisy spectra may be related to the Monte Carlo method? Increasing the number of 'nTraj' seems to smooth the results, but it increases computation time a lot. Is there a way to solve this issue without heavily increasing the number of trajectories?
Thank you very much for your help!