GaussianBeam#

class GaussianBeam[source]#

Bases: object

Calculation for Gaussian beam q-parameter

static q_at_waist(w0: float | ndarray, wl: float, n: float = 1)[source]#

Return q at beam waist.

static q_at_z(qo, z: float | ndarray)[source]#

Propagate q by free-space distance z.

static distance_to_waist(q: complex | ndarray)[source]#

Return distance from current point to waist plane.

static waist(q: complex | ndarray, wl: float, n: float = 1)[source]#

Return waist radius implied by complex q.

static rayleigh_range(q: complex | ndarray)[source]#

Return Rayleigh range from complex q.

static radius_of_curvature(q: complex | ndarray)[source]#

Return wavefront radius of curvature from complex q.

static spot_size(qo: complex | ndarray, z: float | ndarray, wl: float, n: float = 1)[source]#

Return beam spot size after propagation distance z from the waist.