FlatBrewsterMirror

class marxs.optics.FlatBrewsterMirror(**kwargs)[source] [edit on github]

Bases: FlatOpticalElement

Flat mirror operated at the Brewster angle.

Calculation of the Fresnel coefficients can be computationally intense and also requires knowledge of the refractive index for the appropriate material. The FlatBrewsterMirror simplifies this for a mirror that is known to be operated at the Brewster angle.

This mirror assumes that all photons arrive at the Brewster angle where only s (senkrecht = direction perpendicular to plane of incidence) polarisation is reflected. It also assumes that all photons that are not reflected (i.e. those that are transmitted) are lost. No transmitted photons are returned, instead the probability of the reflected photons is adjusted to account for this overall loss.

Define a new MARXS element.

Attributes Summary

display

Dictionary for display specifications, e.g. color.

Methods Summary

fresnel(photons, intersect, intersection, local)

The incident angle can easily be calculated from e_x and photons['dir'].

specific_process_photons(photons, intersect, ...)

Attributes Documentation

display = {'box-half': '+x', 'color': (0.0, 1.0, 0.0), 'shape': 'box'}

Dictionary for display specifications, e.g. color

Methods Documentation

fresnel(photons, intersect, intersection, local)[source] [edit on github]

The incident angle can easily be calculated from e_x and photons[‘dir’].

Returns:
refl_s, refl_pnp.array or float

Reflection probability for s and p polarized photons. Typically, the number will depend on the incident angle and energy of each photon and thus the return value will be a vector.

specific_process_photons(photons, intersect, intersection, local)[source] [edit on github]