finesse.knm.bayerhelms.compute_bayerhelms_coeff¶
- finesse.knm.bayerhelms.compute_bayerhelms_coeff(qx1, qx2, qy1, qy2, double xgamma, double ygamma, int n1, int m1, int n2, int m2, double nr=1.0, double wavelength=1064e-9, bool reverse_gouy=False)¶
Computes the coupling coefficient, via Bayer-Helms [24], from mode (n1, m1) -> mode (n2, m2).
Note
Use
make_bayerhelms_matrix()
to compute a scattering matrix of these coefficients rather than calling this function in a loop.- Parameters:
- qx1
BeamParam
or complex Input beam parameter in the tangential plane.
- qx2
BeamParam
or complex Output beam parameter in the tangential plane.
- qy1
BeamParam
or complex Input beam parameter in the sagittal plane.
- qy2
BeamParam
or complex Output beam parameter in the sagittal plane.
- xgammafloat
Misalignment angle in the tangential plane (in radians).
- ygammafloat
Misalignment angle in the sagittal plane (in radians).
- n1int
Input tangential mode index.
- m1int
Input sagittal mode index.
- n2int
Output tangential mode index.
- m2int
Output sagittal mode index.
- nrfloat, optional; default: 1.0
Refractive index of the associated medium.
- wavelengthfloat, optional; default: 1064 nm
Wavelength of the beam (in metres).
- qx1
- Returns:
- coeffcomplex
The complex coupling coefficient for the specified mode coupling.