finesse.components.gauss module

User-defined Gaussian beam tracing dependencies at a node.

class finesse.components.gauss.Gauss(*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.

property is_changing[source]

Whether the Gauss object is changing or not.

This is used internally when initialising simulation states.

property node[source]

The optical node associated with the Gauss object.

Getter:

Returns the associated OpticalNode instance (read-only).

property qx[source]

Tangential plane beam parameter.

Getter:

Returns the beam parameter in the tangential plane.

Setter:

Sets the beam parameter for the tangential plane.

property qy[source]

Sagittal plane beam parameter.

Getter:

Returns the beam parameter in the sagittal plane.

Setter:

Sets the beam parameter for the sagittal plane.

property w0x

Waist size (x)

property w0y

Waist size (y)

property zx

Distance to waist (x)

property zy

Distance to waist (y)