optiland.rays.ray_aiming.base

Base Ray Aimer Module

This module defines the abstract base class for ray aiming algorithms.

Kramer Harrison, 2025

Classes

BaseRayAimer(optic, **kwargs)

Abstract base class for ray aiming algorithms.

class BaseRayAimer(optic: Optic, **kwargs: Any)[source]

Abstract base class for ray aiming algorithms.

This class defines the interface for calculating the initial ray coordinates and direction cosines required to aim rays at a specific pupil coordinate on the stop surface.

optic

The optical system to trace.

Type:

Optic

kwargs

Additional parameters for the aiming algorithm.

Type:

dict

abstract aim_rays(fields: tuple[ScalarOrArrayT, ScalarOrArrayT], wavelengths: ScalarOrArrayT, pupil_coords: tuple[ScalarOrArrayT, ScalarOrArrayT]) tuple[ScalarOrArrayT, ScalarOrArrayT, ScalarOrArrayT, ScalarOrArrayT, ScalarOrArrayT, ScalarOrArrayT][source]

Calculate ray starting coordinates and direction cosines.

Parameters:
  • fields – Normalized field coordinates (Hx, Hy).

  • wavelengths – Wavelengths for the rays.

  • pupil_coords – Normalized pupil coordinates (Px, Py).

Returns:

  • x: Starting x-coordinate on the object/entrance surface.

  • y: Starting y-coordinate on the object/entrance surface.

  • z: Starting z-coordinate on the object/entrance surface.

  • L: Direction cosine L.

  • M: Direction cosine M.

  • N: Direction cosine N.

Return type:

Tuple containing