Files
x11ma/script/templates/SetupBeamline.py
2020-09-29 10:37:10 +02:00

73 lines
1.9 KiB
Python

#If running from editor
if get_exec_pars().source == CommandSource.ui:
ID = "ID2" #"ID1_ID2"
ENERGY = 805
POL_ID_1 = "Circ_Plus"
ALPHA_ID_1 = 0.0
HARMONIC_ID_1 = 1
OFFSET_ID_1 = 0.0
POL_ID_2 = "Circ_Minus"
ALPHA_ID_2 = 0.0
HARMONIC_ID_2 = 1
OFFSET_ID_2 = 0.0
DRY_RUN = get_dry_run()
set_setting("ID", ID)
set_setting("ENERGY", ENERGY)
set_setting("POL_ID_1", POL_ID_1)
set_setting("ALPHA_ID_1", ALPHA_ID_1)
set_setting("HARMONIC_ID_1", HARMONIC_ID_1)
set_setting("OFFSET_ID_1", OFFSET_ID_1)
set_setting("POL_ID_2", POL_ID_2)
set_setting("ALPHA_ID_2", ALPHA_ID_2)
set_setting("HARMONIC_ID_2", HARMONIC_ID_2)
set_setting("OFFSET_ID_2", OFFSET_ID_2)
if DRY_RUN:
abort()
if ID=='ID1':
caput('X11PHS-E:OPT',1)
elif ID=='ID2':
caput('X11PHS-E:OPT',2)
elif ID =='ID1_ID2':
caput('X11PHS-E:OPT',3)
if ID == "ID1":
#current_pol=POL_IDS[POL_ID_1] #get_id_pol(1)
put_id_pol(1,POL_ID_1, ALPHA_ID_1 if (POL_ID_1=="Lin") else None )
caput('X11MA-ID2-GAP:SET',100) #open Gap ID2
id1_harmonic.write(int(HARMONIC_ID_1))
put_id_offset(1, float(OFFSET_ID_1)) #offset on ID1
elif ID == "ID2":
#current_pol=POL_IDS[POL_ID_2]#get_id_pol(2)
put_id_pol(2,POL_ID_2, ALPHA_ID_2 if (POL_ID_2=="Lin") else None )
caput('X11MA-ID1-GAP:SET',100) #open Gap ID1
id2_harmonic.write(int(HARMONIC_ID_2))
put_id_offset(2, float(OFFSET_ID_2)) #offset on ID2
elif ID == "ID1_ID2":
#polID1=POL_IDS[POL_ID_1]
#polID2=POL_IDS[POL_ID_2]
put_id_pol(1,POL_ID_1, ALPHA_ID_1 if (POL_ID_1=="Lin") else None )
put_id_pol(2,POL_ID_2, ALPHA_ID_2 if (POL_ID_2=="Lin") else None )
#current_pol=polID1
id1_harmonic.write(int(HARMONIC_ID_1))
id2_harmonic.write(int(HARMONIC_ID_2))
put_id_offset(1, float(OFFSET_ID_1)) #offset on ID1
put_id_offset(2, float(OFFSET_ID_2)) #offset on ID2
#wait_channel("X11PHS:alldone", 1)
energy.write(ENERGY)
wait_channel("X11PHS:alldone", 1)