find_radius_of_photon_shell¶
- marxs.design.rowland.find_radius_of_photon_shell(photons, mirror_shell, x, percentile=[1, 99])[source] [edit on github]¶
Find the radius the photons coming from a single mirror shell have.
For nested Wolter Type I mirrors the ray of photons reflected from a single mirror shell essentially form a cone in space. The tip of the cone is at the focal point and the base is at the mirror. There is a certain thickness to this cone depending on where exactly on the mirror the individual photon was reflected.
This function takes a photon list of photons after passing through the mirror and calculates the radius range that this photon cone covers at a specific distance from the focal point. This information can help to design the placement of gratings.
- Parameters:
- photons
Table
Photon list with position and direction of photons leaving the mirror
- mirror_shellint
Select mirror shell to look at (uses column
mirror_shell
inphotons
for filtering).- xfloat
Distance along the optical axis (assumed to coincide with the x axis with focal point at 0).
- percentilelist of floats
The radius is calculated at the given percentiles.
50
would give the median radius. The default of[1, 99]
gives a radius range excluding extreme outliers such as stray rays scattered into the extreme wing of the PSF.
- photons