Files
sf-op/script/Undulators/K-calc.py
2020-02-07 11:43:37 +01:00

25 lines
814 B
Python

Eph1 = 11.312 # actual photon energy
Eph2 = 12.00 # desired photon energy
do_elog = True
undlist = ("SARUN03","SARUN04","SARUN05","SARUN06","SARUN07","SARUN08","SARUN09","SARUN10","SARUN11","SARUN12","SARUN13","SARUN14","SARUN15")
K1, K2 = {}, {}
for und in undlist:
K = caget(und + "-UIND030:K_SET")
K1[und] = K
K2[und] = ((Eph1 / Eph2 * (K**2 + 2) - 2))**0.5
print K1,K2
#if Eph2 > Eph1 :
# for und in undlist: caput(und + "-UIND030:K_SET", 1.1)
# time.sleep(40.0)
for und in undlist: caput(und + "-UIND030:K_SET", K2[und])
#Elog entry
if do_elog:
title = "Wavelength change"
log_msg = "Old photon energy: %0.2f" % Eph1 + " kev\n"
log_msg = log_msg + "New photon energy: %0.2f" % Eph2 + " keV\n"
attachments = None
elog(title, log_msg, attachments)