Skip to content
Snippets Groups Projects
Commit 0ebfcd44 authored by jmcchesn's avatar jmcchesn
Browse files

BE scanning debug

parent 330e207c
No related branches found
No related tags found
No related merge requests found
......@@ -35,12 +35,10 @@ def AllowedEnergyRange(*args):
return Table
if len(args)==2:
try:
PassEnergy,LensMode=args
KEmin,KEmax=Table[LensMode][PassEnergy]
return KEmin,KEmax
except:
return None
PassEnergy,LensMode=args
KEmin,KEmax=Table[LensMode][PassEnergy]
return KEmin,KEmax
else:
print('Not a valid argument')
......
......@@ -18,7 +18,7 @@ from iexcode.instruments.IEX_BL_config import *
from iexcode.instruments.AD_utilities import AD_filepath,AD_prefix
from iexcode.instruments.scanRecord import *
from iexcode.instruments.conversions_constants import *
from iexcode.instruments.xrays import energy, scanXAS, BL_energy_tables
from iexcode.instruments.xrays import energy, scanXAS, BL_energy_tables,energy_get
from iexcode.instruments.shutters import branch_shutter_close
from iexcode.instruments.VLS_PGM import mono_energy_get
from iexcode.instruments.files_and_folders import get_next_fileNumber
......@@ -362,6 +362,7 @@ def scanEA(EAlist,**kwargs):
pass
else:
print("need to specify BE or KE")
return
if EAlist[-1]=='BS':
sweeps=EAlist[-2]
......@@ -370,6 +371,20 @@ def scanEA(EAlist,**kwargs):
if kwargs['debug']:
print("sweeps: "+str(sweeps))
#check KEs within limit
if EAlist[0]=="KE":
KElist = np.array(EAlist[1:-3])
elif EAlist[0]=="BE":
KElist = energy_get() - np.array(EAlist[1:-3])
if KElist[0] > KElist[1]:
print_warning_message('EA scans from low to high in kinetic energy')
return
KEmin,KEmax = AllowedEnergyRange(EAlist[-3],'Angular')
if KElist[0] < KEmin:
print_warning_message('kinetic energy belowed minimum allowed energy')
print(AllowedEnergyRange())
return
if EAlist[0]=="BE":
if len(EAlist)==5: #Fixed
......@@ -377,6 +392,7 @@ def scanEA(EAlist,**kwargs):
EAlist[1]=caget(pvCalcOut1+'.VAL')
arrayP1=list(np.full(sweeps, EAlist[1]))
scan_fillin_table(pvCalcOut1+'.PROC',"",kwargs["scanIOC"],kwargs["scan_dim"],arrayP1,1)
scan_positioner_after_set(positioner_after_scan="STAY")
EAlist[1]=arrayP1[0]
if kwargs['debug']:
print('\npvCalcOut1: ',pvCalcOut1)
......@@ -386,6 +402,7 @@ def scanEA(EAlist,**kwargs):
EAlist[1]=caget(pvCalcOut1+'.VAL')
arrayP1=list(np.full(sweeps, EAlist[1]))
scan_fillin_table(pvCalcOut1+'PROC',"",kwargs["scanIOC"],kwargs["scan_dim"],arrayP1,1)
scan_positioner_after_set(positioner_after_scan="STAY")
print('\npvCalcOut1: ',pvCalcOut1)
print('Pos1 table:',arrayP1)
elif len(EAlist)==7: #Sweep
......@@ -397,6 +414,7 @@ def scanEA(EAlist,**kwargs):
arrayP2=list(np.full(sweeps, EAlist[2]))
scan_fillin_table(pvCalcOut1+'.PROC',"",kwargs["scanIOC"],kwargs["scan_dim"],arrayP1,1)
scan_fillin_table(pvCalcOut2+'.PROC',"",kwargs["scanIOC"],kwargs["scan_dim"],arrayP2,2)
scan_positioner_after_set(positioner_after_scan="STAY")
if kwargs['debug']:
print("\npvCalcOut1",pvCalcOut1)
print("\npvCalcOut2",pvCalcOut2)
......@@ -442,6 +460,7 @@ def scanEA(EAlist,**kwargs):
EAlog_update()
scanEA_reset(**kwargs)
scan_after_table_reset(**kwargs)
scan_positioner_after_set(positioner_after_scan="PRIOR")
else:
return EAparms
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment