From 321fe85da557724e6d1643c1fe1f32f290e4833a Mon Sep 17 00:00:00 2001 From: Henrik Lemke Date: Thu, 17 Dec 2020 15:10:01 +0100 Subject: [PATCH] added kappa conversion for bernina --- eco/endstations/kappa_conversion.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/eco/endstations/kappa_conversion.py b/eco/endstations/kappa_conversion.py index b473abf..60cd67e 100644 --- a/eco/endstations/kappa_conversion.py +++ b/eco/endstations/kappa_conversion.py @@ -1,7 +1,7 @@ import numpy as np -def you2kappa(eta, chi, phi, kappa_angle=60, degrees=True): +def you2kappa(eta, chi, phi, kappa_angle=60, degrees=True, bernina_kappa=True): """tool to convert from you definition angles to kappa angles, in particular the bernina kappa where the""" if degrees: @@ -10,19 +10,23 @@ def you2kappa(eta, chi, phi, kappa_angle=60, degrees=True): eta_k = eta - delta_angle kappa = 2 * np.arcsin(np.sin(chi / 2) / np.sin(kappa_angle)) phi_k = phi - delta_angle - - # eta_k = -np.pi / 2 + eta_k + + if bernina_kappa: + eta_k = eta_k - np.pi/2 + phi_k = -phi_k + np.pi/2 if degrees: eta_k, kappa, phi_k = np.rad2deg([eta_k, kappa, phi_k]) return eta_k, kappa, phi_k -def kappa2you(eta_k, kappa, phi_k, kappa_angle=60, degrees=True): +def kappa2you(eta_k, kappa, phi_k, kappa_angle=60, degrees=True, bernina_kappa=True): if degrees: eta_k, kappa, phi_k, kappa_angle = np.deg2rad( [eta_k, kappa, phi_k, kappa_angle] ) - # eta_k = np.pi / 2 + eta_k + if bernina_kappa: + eta_k = eta_k + np.pi / 2 + phi_k = -phi_k + np.pi / 2 delta_angle = np.arctan(np.tan(kappa / 2) * np.cos(kappa_angle)) eta = eta_k - delta_angle chi = 2 * np.arcsin(np.sin(kappa / 2) * np.sin(kappa_angle))