find_radius_of_photon_shell¶
- marxs.design.rowland.find_radius_of_photon_shell(photons, mirror_shell, x, percentile=[1, 99])[source]¶
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_shellinphotonsfor 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.
50would 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