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_node : Node

Node to trace from.

to_node : Node

Node to trace to.

via_node : Node, optional

Optional node to trace via.

path : OpticalPath, optional

A pre-generated path to use.

qx_in : BeamParam, 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_in : BeamParam, 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.

symbolic : bool, optional; default: False

Flag determining whether to return a symbolic representation.

Returns

astig_sol : AstigmaticPropagationSolution

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