finesse.components.gauss.Gauss

Overview

class finesse.components.gauss.Gauss(name, *args, **kwargs)[source]

Bases: TraceDependency

Beam parameter at a specific node of a model.

The following are legal initialisations of a Gauss object:

# Non-astigmatic
q = Gauss('name', node, q=q)
q = Gauss('name', node, w0=w0, z=z) # waist size and position
q = Gauss('name', node, zr=zr, z=z) # Rayleigh range and waist position
q = Gauss('name', node, w=w, Rc=Rc) # beam size and RoC
q = Gauss('name', node, w=w, S=S) # beam size and curvature

# Astigmatic
q = Gauss('name', node, qx=qx, qy=qy)
q = Gauss('name', node, w0x=wx, zx=zx, w0y=wy, zy=zy)
q = Gauss('name', node, zrx=zrx, zx=zx, zry=zry, zy=zy)
q = Gauss('name', node, wx=wx, Rcx=Rcx, wy=wy, Rcy=Rcy)
q = Gauss('name', node, wx=wx, Sx=Sx, wy=wy, Sy=Sy)

See gaussian.BeamParam for more detailed descriptions of these variables.

Properties

Gauss.is_changing

Whether the Gauss object is changing or not.

Gauss.node

The optical node associated with the Gauss object.

Gauss.qx

Tangential plane beam parameter.

Gauss.qy

Sagittal plane beam parameter.