finesse.detectors.optimal_q module
Single-frequency array of complex amplitudes detector.
- class finesse.detectors.optimal_q.OptimalQ(*args, **kwargs)[source]
Bases:
DetectorThis 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
BeamParamin 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
- nodestr |
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()orfinesse.gaussian.optimise_HG00_q_scipy()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.FailureIf 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.
- property astigmatic
astigmatic : bool, optional When True qx and qy will be optimised separately
- property direction[source]
Sets the output of the detector.
If both then both qx and qy are returned. if x or y are used then only the required one is returned.
- property f
f : float Frequency component tro compute the optimal beam parameter for.
- property fix_spot_size
fix_spot_size : bool, optional When True the optimised will keep the current spot size at the node fixed and just optimise the curvature.
- class finesse.detectors.optimal_q.OptimalQWorkspace(owner, sim)[source]
Bases:
DetectorWorkspaceWorkspace for calculating the output of the optimial beamparameter (q) detectors.
Parameters
- ownerOptimalQ
Detector which owns this workspace
- sim
Simulation this workspace should be created for