##################### ## INPUT PARAMATERS## #open_valve() POS_START =101 #Min = 98.0 POS_END = 110 #Max = 118.0 POS_STEP = 0.25 """ POS_START =106 #Min = 98.0 POS_END = 108.7 #Max = 118.0 POS_STEP = 0.1 """ #ENERGIES = [459,455] #Ti #ENERGIES = [363.2, 356.0]# Nb #ENERGIES = [260.0]# C #ENERGIES = [285.0,280]# C #ENERGIES = [401.1,403] #Mo #ENERGIES = [780.0,777.0] #ENERGIES = [396.0] # N #ENERGIES = [385.0]# C #ENERGIES = [576.3, 560.0] #Cr #ENERGIES = [1850, 1820]# Si #ENERGIES = [530] #O #ENERGIES = [397.7,392] # Pc #ENERGIES = [399.1,392] # TCNQ #ENERGIES = [700] #Ti ENERGIES = [642.0,630.0] # Mn #ENERGIES = [463,457] #ENERGIES = [637.8,638.9,640.1,636.0] # Mn #ENERGIES = [700.0] # Fe #ENERGIES = [910.0] #Cu #ENERGIES = [777.3,774] # Co #ENERGIES = [778] # Co #ENERGIES = [851.3,845.0] # Ni #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.3, 925.0] # Cu metal #ENERGIES = [928.4 ] # Cu1 #ENERGIES = [700.0, 708.0] # Fe #ENERGIES = [696.7, 680.0] # F #ENERGIES = [692.0] # F #ENERGIES = [782.50, 775.0] # Ba #ENERGIES = [782.50] # Ba #ENERGIES = [1265] # Dy pre-edge #ENERGIES = [660.0, 665.0] # In #ENERGIES = [1850, 1820]# Si #ENERGIES = [1125.6]# Eu #ENERGIES = [850.9, 849 ] # Ni #ENERGIES = [520.0] # V ##################### open_valve() sensors = [tey_norm,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.values[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 = 0.0, passes = len(ENERGIES), before_pass = before_pass, after_read=after_readout, plot_disabled=True, range="auto") close_valve()