Files
x07ma/script/I02_scan.py
2021-09-01 10:22:59 +02:00

51 lines
1.6 KiB
Python

#####################
## INPUT PARAMETERS##
POS_START = -85
POS_END = -60
POS_STEP = 0.5
#ENERGIES = [704.0,708.7] # Fe
ENERGIES = [630] #
#####################
#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(gold_mesh2,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()