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 [1], 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 complexInput beam parameter in the tangential plane.
qx2 :
BeamParam
or complexOutput beam parameter in the tangential plane.
qy1 :
BeamParam
or complexInput beam parameter in the sagittal plane.
qy2 :
BeamParam
or complexOutput beam parameter in the sagittal plane.
xgamma : float
Misalignment angle in the tangential plane (in radians).
ygamma : float
Misalignment angle in the sagittal plane (in radians).
n1 : int
Input tangential mode index.
m1 : int
Input sagittal mode index.
n2 : int
Output tangential mode index.
m2 : int
Output sagittal mode index.
nr : float, optional; default: 1.0
Refractive index of the associated medium.
wavelength : float, optional; default: 1064 nm
Wavelength of the beam (in metres).
- Returns
coeff : complex
The complex coupling coefficient for the specified mode coupling.