finesse.tracing.tools.compute_cavity_mismatches

finesse.tracing.tools.compute_cavity_mismatches(model, cav1=None, cav2=None)[source]

Computes the mismatch parameter (see BeamParam.mismatch() for the equation) between cavities of the model.

If either / both of cav1, cav2 are not specified then these will be set to all the cavities of the model. This means that the default behaviour of this method (specifying no args) is to compute mismatches between each cavity in the model.

If either of each cavity in a coupling is unstable then the mismatch values between these will be given as np.nan.

Parameters
cav1Cavity, str, optional; default: None

A single cavity object (or its name). Defaults to None such that all cavities are used.

cav2Cavity, str, optional; default: None

A single cavity object (or its name). Defaults to None such that all cavities are used.

Returns
mmxfloat or dict

If both cav1 and cav2 were specified then this will be a single number giving the mismatch between these cavities in the tangential plane.

Otherwise, mmx is a dictionary of (c1, c2): mm_x mappings, where c1 and c2 are the cavity names and mm_x is the mismatch between any two cavities in the tangential plane.

mmyfloat or dict

If both cav1 and cav2 were specified then this will be a single number giving the mismatch between these cavities in the sagittal plane.

Otherwise, mmy is a dictionary of (c1, c2): mm_y mappings, where c1 and c2 are the cavity names and mm_y is the mismatch between any two cavities in the sagittal plane.