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.

is_polarized

Indicates whether the state is polarized.

Type:

bool

Ex

Electric field component in the x-direction.

Type:

Optional[float]

Ey

Electric field component in the y-direction.

Type:

Optional[float]

phase_x

Phase of the x-component of the electric field.

Type:

Optional[float]

phase_y

Phase of the y-component of the electric field.

Type:

Optional[float]

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.