finesse.tracing.tools.propagate_beam_astig

finesse.tracing.tools.propagate_beam_astig(from_node=None, to_node=None, via_node=None, path=None, qx_in=None, qy_in=None, symbolic=False, solution_name=None, **kwargs)[source]

Propagates the beam through a specified path over both the tangential and sagittal planes.

Internally this calls propagate_beam() twice - for both the tangential and sagittal planes - and returns a solution object which stores the returns of these as properties.

Parameters:
from_nodeNode

Node to trace from.

to_nodeNode

Node to trace to.

via_nodeNode, optional

Optional node to trace via.

pathOpticalPath, optional

A pre-generated path to use.

qx_inBeamParam, complex, optional

Beam parameter, in the tangential plane, to use at starting node. If not specified then this will be determined from a beam trace. Note that, if specified, this can also be a symbolic beam parameter.

qy_inBeamParam, complex, optional

Beam parameter, in the sagittal plane, to use at starting node. If not specified then this will be determined from a beam trace. Note that, if specified, this can also be a symbolic beam parameter.

symbolicbool, optional; default: False

Flag determining whether to return a symbolic representation.

Returns:
astig_solAstigmaticPropagationSolution

A solution object consisting of the propagation solutions for both planes and methods for accessing the per-plane beam parameters and overlaps.