finesse.solutions.beamtrace.PropagationSolution.segment

PropagationSolution.segment(node, *args, normalise_z=True, w_scale=1, npts=400, subs=None)[source]

Obtain data for a segment of the beam over the space attached to the specified node.

The expected, valid positional args are any combination of:

  • “beamsize”,

  • “gouy”,

  • “curvature”,

where all three will be used by default if none of these are given.

Use PropagationSolution.all_segments() to obtain the beam data over all spaces of the solution.

Parameters
nodeOpticalNode

The starting node of the segment.

normalise_zbool, optional; default: True

Whether to normalise returned data["z"] array such that first value of this is zero.

w_scalescalar, optional; default: 1

Quantity to scale beam size values by if calculating these. For example, specify w_scale = 1e3 to get beam sizes in mm. By default the units of the beam size will be in metres.

nptsint, optional; default: 400

Number of points to use for computing data values.

subsdict, optional

A dictionary of model parameter to value substitutions to pass to the eval methods of symbolic expressions.

If this solution object is not symbolic then this argument is ignored.

Returns
zsnumpy.ndarray

Array of z-axis values corresponding to the position of the node up to the length of the attached space. If normalise_z is True then the position of node will be subtracted from all values, such that the first value in this array will be zero.

datadict

Dictionary of data mapping args : values, where args are those specified (see above) and values are the arrays of values corresponding to each of these args as a function of the z-axis values.