SpinWaveToolkit.bls.ObjectiveLens#
- class SpinWaveToolkit.bls.ObjectiveLens(wavelength, NA, f0, f)#
Represents an objective lens with specific optical parameters.
Module for calculating the electric field focused by an objective lens. Calculations follow the method presented in book of Novotny and Hecht.
- Parameters:
- Attributes:
- same as Parameters
Methods
getFocalFieldRad(z, rho_max, N)Compute the focal field using a radial formulation.
getFocalFieldAzm(z, rho_max, N)Compute the focal field using an azimuthal formulation (
E_z = 0).getFocalField(z, rho_max, N)Compute the focal field using a general formulation.
getPupilField(z, KX, KY[, ...])Computes the complex electric field distribution in reciprocal space.
See also
get_signal_GF_focal,get_signal_RT_focal,get_signal_RT_pupilFunctions that use the electric fields for BLS signal calculations.
SpinWaveToolkit.rotate_fieldFunction for rotating the vectorial electric field in xy plane.
- getFocalField(z, rho_max, N)#
Compute the focal field using a general formulation.
The field incident onto the objective is assumed to be linearly polarized along the x axis.
- Parameters:
- Returns:
- getFocalFieldAzm(z, rho_max, N)#
Compute the focal field using an azimuthal formulation (
E_z = 0).The field incident onto the objective is assumed to be azimuthally polarized.
- Parameters:
- Returns:
- getFocalFieldRad(z, rho_max, N)#
Compute the focal field using a radial formulation.
The field incident onto the objective is assumed to be radially polarized.
- Parameters:
- Returns:
- getPupilField(z, KX, KY, polarization_type='linear', polarization_angle_deg=0)#
Computes the complex electric field distribution in reciprocal space.
This represents the field near the focus of a high-NA objective lens—including amplitude apodization, polarization transformation, and defocus phase, projected onto the kx-ky plane. This is the integrand for the vectorial Debye diffraction integral.
- Parameters:
- z
float (m ) defocus distance along optical axis.
- KX
ndarray (rad/m) 2D reciprocal-space grid (kx).
- KY
ndarray (rad/m) 2D reciprocal-space grid (ky).
- polarization_type
str, optional - “linear” - linearly polarized (angle set bypolarization_angle_deg)“radial” - radial polarization“azimuthal” - azimuthal polarization“rcp” - right-hand circular polarization“lcp” - left-hand circular polarization
- polarization_angle_deg
float, optional (deg) linear polarization angle. Default is 0. Ignored when polarization_type is other than “linear”.
- z
- Returns:
- Ex_k, Ey_k, Ez_k
ndarray Complex electric field components in k-space (2D arrays).
- Ex_k, Ey_k, Ez_k