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:
photonsTable

Photon list with position and direction of photons leaving the mirror

mirror_shellint

Select mirror shell to look at (uses column mirror_shell in photons 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.