optiland.rays.paraxial_rays

Paraxial Rays

This module contains the ParaxialRays class, which represents paraxial rays in an optical system.

Kramer Harrison, 2024

Classes

ParaxialRays(y, u, z, wavelength)

Class representing paraxial rays in an optical system.

class ParaxialRays(y: ArrayLike, u: ArrayLike, z: ArrayLike, wavelength: ArrayLike)[source]

Class representing paraxial rays in an optical system.

y

The y-coordinate of the rays.

u

The slope of the rays.

z

The z-coordinate of the rays.

wavelength

The wavelength of the rays.

propagate(t)[source]

Propagates the rays by a given distance.

propagate(t: ScalarOrArray)[source]

Propagates the rays by a given distance.

Parameters:

t – The distance to propagate the rays.

record_on_surface(surface: Surface) None[source]

Dispatch to the surface’s paraxial record method.

Parameters:

surface (Surface) – The surface to record onto.

rotate_x(rx: ScalarOrArray)[source]

Rotate the rays about the x-axis.

rotate_y(ry: ScalarOrArray)[source]

Rotate the rays about the y-axis.

rotate_z(rz: ScalarOrArray)[source]

Rotate the rays about the z-axis.

trace_on_surface(surface: Surface) ParaxialRays[source]

Dispatch to the surface’s paraxial trace kernel.

Parameters:

surface (Surface) – The surface to trace through.

Returns:

The traced paraxial rays.

Return type:

ParaxialRays

translate(dx: ArrayLike, dy: ArrayLike, dz: ArrayLike)

Shifts the rays in the x, y, and z directions.

Parameters:
  • dx – The amount to shift the rays in the x direction.

  • dy – The amount to shift the rays in the y direction.

  • dz – The amount to shift the rays in the z direction.