optiland.rays.polarization_state#

Polarization State

This module contains the PolarizationState class, which represents the polarization state of a light ray or ray bundle. This class may be used to define the polarization state of the light rays in an optical system.

Kramer Harrison, 2024

Functions

create_polarization(pol_type)

Create a polarization state based on the given polarization type.

Classes

PolarizationState([is_polarized, Ex, Ey, ...])

Represents the polarization state of a light ray.

class PolarizationState(is_polarized: bool = False, Ex: float | None = None, Ey: float | None = None, phase_x: float | None = None, phase_y: float | None = None)[source]#

Represents the polarization state of a light ray.

Variables:
  • is_polarized (bool) – Indicates whether the state is polarized.

  • Ex (Optional[float]) – Electric field component in the x-direction.

  • Ey (Optional[float]) – Electric field component in the y-direction.

  • phase_x (Optional[float]) – Phase of the x-component of the electric field.

  • phase_y (Optional[float]) – Phase of the y-component of the electric field.

create_polarization(pol_type: str)[source]#

Create a polarization state based on the given polarization type.

Parameters:

pol_type (str) – The type of polarization. Must be one of the following: - ‘unpolarized’ for unpolarized light - ‘H’ for horizontal polarization - ‘V’ for vertical polarization - ‘L+45’ for linear polarization at +45 degrees - ‘L-45’ for linear polarization at -45 degrees - ‘RCP’ for right circular polarization - ‘LCP’ for left circular polarization

Returns:

The created polarization state.

Return type:

PolarizationState

Raises:

ValueError – If an invalid polarization type is provided.