finesse.solutions.beamtrace.PropagationSolution.all_segments

PropagationSolution.all_segments(*args, add_gouy=True, w_scale=1, npts=1000, resolution='adaptive', subs=None)[source]

Construct a dictionary containing beam data for all segments of the solution.

The expected, valid positional arguments are any combination of:

  • “beamsize”,

  • “gouy”,

  • “curvature”,

where all three will be used by default if no args are given.

Use PropagationSolution.segment() to obtain the beam data over a single space of the solution.

Parameters

add_gouy : bool, optional; default: True

Whether to add the last Gouy phase from previous segment to all values of current segment, thereby constructing each “gouy” array entry as accumulated Gouy phases over all segments.

w_scale : scalar, 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.

npts : int, optional; default: 1000

Number of points to use for computing data values. The actual number of data points used per segment depends upon the resolution argument.

resolution : str, optional; default: “adaptive”

The method of segment resolution setting to use. This can be one of three arguments:

  • “adaptive”: Sets the number of points per segment in such a way as to attempt to increase the resolution near the waist. Each segment will have a number of points allocated to it accordingly, with the total number of points across all segments then approximately equal to npts.

  • “equal”: Allocates an equal number of points to each segment, i.e. each segment has int(npts / len(self.spaces)) points.

  • “all”: Gives npts to all segments, such that the total number of data points across all segments is len(self.spaces) * npts.

subs : dict, 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

data : dict

Dictionary of data mapping space : zs, segdata, where space is each space (i.e. segment) in the solution path, zs are the z-axis values and segdata is the dict of data values for the targeted beam properties over the space.