finesse.detectors.optimal_q.OptimalQ

Overview

class finesse.detectors.optimal_q.OptimalQ(name, node: Node, f, *, fix_spot_size=False, astigmatic=False, accuracy=1e-06, direction='both')[source]

Bases: Detector

This detector tries to compute an optimal beam parameter (q) for a specified optical frequency at a node.

Output of this detector into an array solution will be a tuple of BeamParam in each transverse direction, (qx, qy). If the optimisation process fails beam parameter objects will NaN values will be returned.

Parameters:
namestr

Name of the detector

node[str | finesse.components.node]

Node name or object to put this detector at

ffloat

Frequency component tro compute the optimal beam parameter for.

fix_spot_sizebool, optional

When True the optimised will keep the current spot size at the node fixed and just optimise the curvature.

astigmaticbool, optional

When True qx and qy will be optimised separately

accuracyfloat, optional

Approximate mismatch accuracy to try and compute the optimised beam parameter to. mismatch(q_actual, q_optimal) < accuracy

directionstr, optional

Return either both or just the x or y modes

Notes

This method uses the finesse.gaussian.optimise_HG00_q() or optimise_HG00_q() for optimising the HG mode amplitudes at the node and frequency requested. This particular method finds a new set of {qx, qy} values which maximise the HG00 mode content, whilst reducing the HG20 and HG02 mode content.

Failure

If the optical field being optimised does not have a HG00 like appearance then. For example, trying to optimise the shape of an RF sideband field inside a cavity that it is not resonant in.

Properties

OptimalQ.direction

Sets the output of the detector.