Files
sf-op/script/Undulators/pointing.py
gobbo_a 8beeb7dbc7
2023-08-17 15:16:51 +02:00

25 lines
681 B
Python

# PPRM113 position: OAPU044 closed (um)
x1_scr = 29.0
y1_scr = 75.0
# PPRM113 position: OAPU092 closed (um)
x2_scr = 14.0
y2_scr = 75.0
# PPRM113 position: max intensity (um)
xm_scr = 20.0
ym_scr = 75.0
z_sarun09 = 537.248
z_oapu044 = 612.238
z_oapu092 = 656.239
z_pprm113 = 680.843
d1 = z_pprm113 - z_oapu044
d2 = z_oapu044 - z_sarun09
d3 = z_pprm113 - z_oapu092
d4 = z_oapu092 - z_sarun09
k = d1 / d2 - d3 / d4
dx_offset = 1 / k * (x1_scr - x2_scr)
dy_offset = 1 / k * (y1_scr - y2_scr)
dx_slope = -(dx_offset / d4 + (xm_scr - x2_scr) / (d1 + d2)) * 4.750
dy_slope = -(dy_offset / d4 + (ym_scr - y2_scr) / (d1 + d2)) * 4.750
print(dx_offset, dy_offset)
print(dx_slope, dy_slope)