150 lines
4.1 KiB
Python
150 lines
4.1 KiB
Python
#####################
|
|
## INPUT PARAMATERS##
|
|
#X07MA-ES1-SHUTTER:TRZ1.VAL
|
|
#POS_START = 107 #Min = 98.0
|
|
|
|
#POS_END = POS_START + 6 #Max = 118.0
|
|
#caput("X07MA-ES1-SHUTTER:TRZ1.VAL", POS_START - 108.0 + 40.5)
|
|
|
|
POS_START = 98 #Min = 98.0
|
|
POS_END = 114 #Max = 118.0
|
|
POS_STEP = 0.2
|
|
|
|
SETTLING_TIME = 0.0
|
|
|
|
#POS_START = 100 #Min = 98.0
|
|
#POS_END = 117 #Max = 118.0
|
|
#POS_STEP = 0.25
|
|
|
|
#caput("X07MA-ES1-SHUTTER:TRZ1.VAL", POS_START - 108.0 + 40.5)
|
|
|
|
#36: 106.25
|
|
#37: 106.75
|
|
|
|
|
|
#ENERGIES = [929.31]
|
|
|
|
#"""
|
|
#POS_START =105 #Min = 98.0
|
|
#POS_END = 111
|
|
#Max = 118.0
|
|
#POS_STEP = 0.1
|
|
#"""
|
|
ENERGIES = [929.2,920] # test
|
|
#ENERGIES = [774.0,779.5] # Co
|
|
#ENERGIES = [776.0,778.0] # Co
|
|
#ENERGIES = [459.7,456] #Ti
|
|
#ENERGIES = [1128, 1120 ]# Eu
|
|
#ENERGIES = [285.3, 280.0]# C
|
|
#ENERGIES = [1030,1015] #Zn
|
|
#ENERGIES = [485.0,490.0] # Ru
|
|
#ENERGIES = [1030] #Zn
|
|
#ENERGIES = [1344.5, 1338] # Ho edge, pre-edge
|
|
#ENERGIES = [1289.5, 1280] # Dy edge, pre-edge
|
|
#ENERGIES = [363.2, 356.0]# Nb
|
|
#ENERGIES = [280.0]# C
|
|
#ENERGIES = [300.0, 280]# C
|
|
#ENERGIES = [395,390] #Mo
|
|
#ENERGIES = [780.0,777.0]
|
|
#ENERGIES = [397.8, 395.0] # N
|
|
#ENERGIES = [410] # N
|
|
#ENERGIES = [385.0]# C
|
|
#ENERGIES = [570.0,576.3] #Cr
|
|
#ENERGIES = [1850, 1820]# Si
|
|
#ENERGIES = [532.3, 525.0] #O
|
|
#ENERGIES = [397.7,392] # Pc
|
|
#ENERGIES = [399.1,392] # TCNQ
|
|
#ENERGIES = [459.7,456] #Ti
|
|
#ENERGIES = [639.0] # Mn
|
|
#ENERGIES = [848.5, 842.0] # La
|
|
#ENERGIES = [463,457]
|
|
#ENERGIES = [639.1,636.6] # Mn
|
|
#ENERGIES = [707.0, 704.0] # Fe
|
|
#ENERGIES = [708.3]
|
|
#ENERGIES = [928.4] #CuO
|
|
#ENERGIES = [929.0, 925.0] #Cu
|
|
#ENERGIES = [927, 929] #Cu
|
|
#ENERGIES = [402, 397] # Ta
|
|
#ENERGIES = [777.3, 774.0] # Co
|
|
#ENERGIES = [782.5,775] # Ba
|
|
#ENERGIES = [778] # Co
|
|
#ENERGIES = [848.5, 842] # La
|
|
#ENERGIES = [465.0,450.0] # STO
|
|
#ENERGIES = [1234.5, 1225 ] # Tb
|
|
#ENERGIES = [976, 970] # Nd
|
|
#ENERGIES = [1235.0, 1228.0 ] #Er? Dy?
|
|
#ENERGIES = [1067, 1076 ] # Sm
|
|
#ENERGIES = [ 1185 ] # Gd
|
|
#ENERGIES = [1300, 1312] # Mg
|
|
#ENERGIES = [1457.8] # Tm
|
|
#ENERGIES = [1344.2, 1346 ] # Ho
|
|
#ENERGIES = [1400.5,1395.0] #Er
|
|
#ENERGIES = [1395.0] #Er
|
|
#ENERGIES = [385] # N
|
|
#ENERGIES = [1563.0,1555.0] # Al
|
|
#ENERGIES = [1456.9, 1450 ] # Tm
|
|
#ENERGIES = [928.5, 925.0] # Cu metal
|
|
#ENERGIES = [920.0 ] # Cu1
|
|
#ENERGIES = [706.5, 704] # Fe
|
|
#ENERGIES = [706.6, 704] # Fe metal
|
|
#ENERGIES = [700.0]
|
|
#ENERGIES = [352, 340.0] # Ca
|
|
#ENERGIES = [1126.16, 1120] # Eu
|
|
#ENERGIES = [696.7, 680.0] # F
|
|
#ENERGIES = [692.0] # F
|
|
#ENERGIES = [782.50, 775.0] # Ba
|
|
#ENERGIES = [782.50] # Ba
|
|
#ENERGIES = [1289.4] # Dy
|
|
#ENERGIES = [660.0, 665.0] # In
|
|
#ENERGIES = [1850, 1820]# Si
|
|
#ENERGIES = [1125.6]# Eu
|
|
#ENERGIES = [850.9, 842] # Ni
|
|
#ENERGIES = [514.1, 510] # V
|
|
#ENERGIES = [1455,1420] # Se
|
|
#ENERGIES = [1181.0,1173.0]
|
|
#ENERGIES = [285.3, 280.0]# C
|
|
#ENERGIES = [1067, 1076.4 ] # Sm
|
|
#ENERGIES = [870, 880.3 ] # Ce
|
|
#ENERGIES = [368, 367 ] # Ag
|
|
#ENERGIES = [1650.0]
|
|
#####################
|
|
#set_har(1.0)
|
|
|
|
sensors = [tey_norm,signal_tey, signal_i0, signal_trans, trans_norm, sample_vert, energy_readback]
|
|
#sensors = [signal_field_analog_z,signal_tey, signal_i0, signal_trans, trans_norm, sample_vert, 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
|
|
#del name
|
|
print tey_norm.name
|
|
|
|
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)))
|
|
|
|
ret= lscan(sample_hor,sensors, POS_START, POS_END, POS_STEP, latency = SETTLING_TIME, passes = len(ENERGIES), before_pass = before_pass, after_read=after_readout, plot_disabled=True, range="auto")
|
|
|
|
#if name is None:
|
|
# name=get_scan_filename()
|
|
#print "Created data file: " + str(name)
|
|
|
|
close_valve()
|