83 lines
2.7 KiB
Python
83 lines
2.7 KiB
Python
#####################
|
|
## INPUT PARAMETERS##
|
|
POS_START = -0.5
|
|
POS_END = 0.5
|
|
POS_STEP = 0.05
|
|
|
|
|
|
|
|
#ENERGIES = [782.50, 775.0]
|
|
#ENERGIES = [400.7, 390.0]
|
|
#ENERGIES = [401.1,403] #Mo
|
|
#ENERGIES = [530]
|
|
#ENERGIES = [692.0] # F
|
|
#ENERGIES = [692.0, 680.0] # F
|
|
#ENERGIES = [1110,1125.5] #STO
|
|
#ENERGIES = [397.7,392] # Pc
|
|
#ENERGIES = [700.0, 708.0] # Fe
|
|
#ENERGIES = [700.0] #Fe
|
|
#ENERGIES = [772,776.7] # Co
|
|
#ENERGIES = [851.8,848.5] # Ni
|
|
#ENERGIES = [574.1, 560.0] #Cr
|
|
#ENERGIES = [485.0,490.0] # Ru
|
|
#ENERGIES = [630.0,640.0] # Mn
|
|
#ENERGIES = [465.0,450.0] # STO
|
|
#ENERGIES = [1067, 1076 ] # Sm
|
|
#ENERGIES = [1170, 1180 ] # Gd
|
|
#ENERGIES = [260.0] #C
|
|
#ENERGIES = [1370.0,1380.0] #Er
|
|
#ENERGIES = [1300, 1312 ] # Mg
|
|
#ENERGIES = [1288.8, 1280.0 ] # Dy
|
|
#ENERGIES = [1292.0] # Dy
|
|
#ENERGIES = [1344.2, 1346 ] # Ho
|
|
#ENERGIES = [1456.9, 1450 ] # Tm
|
|
#ENERGIES = [1563.0,1555.0] # Al
|
|
#ENERGIES = [1850, 1820]# Si
|
|
ENERGIES = [928.4, 925.0]# Cu
|
|
#ENERGIES = [782.50, 775.0] # Ba
|
|
#ENERGIES = [782.50] # Ba
|
|
#ENERGIES = [1233.7, 1225] # Tb
|
|
#ENERGIES = [1265] # Dy pre-edge
|
|
#####################
|
|
|
|
#open_valve()
|
|
#caput("X07MA-OP-VG13:WT_SET",1)
|
|
#time.sleep(0.1)
|
|
|
|
sensors = [tey_norm, signal_tey, signal_i0, signal_trans, trans_norm, sample_hor, energy_readback]
|
|
#sensors = [ signal_tey, signal_i0, sample_hor, energy_readback]
|
|
#sensors_name = ['tey_norm', 'signal_tey', 'signal_i0', 'trans_norm', 'sample_hor', 'energy_readback']
|
|
#sensors_name = ['signal_tey', 'signal_i0', 'sample_hor', 'energy_readback']
|
|
|
|
|
|
#TODO: #Why must set range to "auto"?
|
|
"""
|
|
def before_pass(pass_num, scan):
|
|
print "Setting energy = " , ENERGIES[pass_num-1]
|
|
set_energy(ENERGIES[pass_num-1])
|
|
lscan(sample_vert,sensors, POS_START, POS_END, POS_STEP, latency =0.5, passes = len(ENERGIES), before_pass=before_pass, range="auto")
|
|
"""
|
|
|
|
#Setting a different color for each pass: must manage plots manually
|
|
plots = plot([None]*len(sensors), name = [d.name for d in sensors])
|
|
for p in plots:
|
|
p.clear()
|
|
p.legendVisible = True
|
|
|
|
def after_readout(record, scan):
|
|
for i in range(len(plots)):
|
|
plots[i].getSeries(plots[i].numberOfSeries-1).appendData(record.positions[0], record.readables[i])
|
|
def before_pass(pass_num):
|
|
en = ENERGIES[pass_num-1]
|
|
set_energy(en)
|
|
open_valve()
|
|
for p in plots: p.addSeries(LinePlotSeries(str(en)))
|
|
|
|
|
|
#ret70= lscan(sample_vert,sensors, POS_START, POS_END, POS_STEP, latency = 0.25, passes = len(ENERGIES), before_pass = before_pass, after_read=after_readout, plot_disabled=True, range="auto")
|
|
ret70= lscan("ca://X07MA-OP-RMU:tRz.A",sensors, POS_START, POS_END, POS_STEP, latency = 0.25, passes = len(ENERGIES), before_pass = before_pass, after_read=after_readout, plot_disabled=True, range="auto")
|
|
|
|
|
|
|
|
close_valve()
|