39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
undlist = ("SATUN17","SATUN18","SATUN19","SATUN20","SATUN21","SATUN22")
|
|
|
|
### getting current photon energy:
|
|
Eph1 = caget(undlist[0] + "-UIND030:FELPHOTENE")
|
|
#Eph1 = 0.530 # actual photon energy in keV
|
|
print("Photon energy at start (at ", undlist[0],") : ", round(Eph1,4))
|
|
|
|
### give desired photon energy via relative or absolute method.
|
|
### please comment the other out!
|
|
|
|
### relative change in photon energy:
|
|
#step = -0.002 # desired step to scale in keV
|
|
#Eph2 = Eph1 + step
|
|
|
|
### absolute change in photon energy:
|
|
Eph2 = 0.540 # desired photon energy in keV
|
|
|
|
print("Photon energy at end: ", round(Eph2,4))
|
|
|
|
do_elog = True
|
|
|
|
|
|
### actual code:
|
|
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)
|
|
print(K2)
|
|
for und in undlist: caput(und + "-UIND030:K_SET", K2[und])
|
|
|
|
### create Elog entry
|
|
if do_elog:
|
|
title = "Athos wavelength change"
|
|
log_msg = "Old photon energy: %0.4f" % Eph1 + " kev\n"
|
|
log_msg = log_msg + "New photon energy: %0.4f" % Eph2 + " keV\n"
|
|
elog(title, log_msg)
|