From 8905a2d4c55efba21c3cbf34bddeeec317cc2291 Mon Sep 17 00:00:00 2001 From: x03daop Date: Fri, 5 Aug 2016 14:35:27 +0200 Subject: [PATCH] Script execution --- script/SchofieldScan.py | 161 +++++++++++++++++++++------------------- 1 file changed, 85 insertions(+), 76 deletions(-) diff --git a/script/SchofieldScan.py b/script/SchofieldScan.py index a7e41623..a7232ab8 100644 --- a/script/SchofieldScan.py +++ b/script/SchofieldScan.py @@ -12,49 +12,6 @@ STEP (double) LATENCY = 0.0 -#################### Si 2p PhD scan ############################## -VECTOR = [ 170.0] -#for nn in range(63): -# VECTOR.append(VECTOR[-1]+4) -nn = 0 - - -initial_energy_range = [[63, 67, 0.1], - [67.5, 77, 0.5]] -pass_energy_hold = 20 -angle_time = [0.6, 0.7] -#angle_range = [-9.2, -9.2+30.] -#azi_range = [-90., -45.] - -#################### C 1s PhD scan ############################## -#VECTOR = [ 340.0] -#for nn in range(63): -# VECTOR.append(VECTOR[-1]+4) -#nn = 0 - - -#initial_energy_range = [[45, 52.4, 0.1], -# [52.5, 62.5, 0.5]] -#pass_energy_hold = 50 -#angle_time = [0.6, 0.7] -#angle_range = [-9.2, -9.2+30.] -#azi_range = [-90., -45.] - -#################### O 1s PhD scan ############################## -#VECTOR = [ 630.0] -#for nn in range(63): -# VECTOR.append(VECTOR[-1]+4) - -#pass_energy_hold = 100 - -#initial_energy_range = [[87.2, 95.5, 0.1], -# [95.0, 105.0, 0.5]] - -#angle_time = [0.3, 0.4, 0.5, 0.6] -#angle_range = [-9.2+20., -9.2+40., -9.2+60.] -#azi_range = [-90., -45.] - - class SpectrumReader(ReadonlyRegisterBase, ReadonlyRegisterArray): def doRead(self): global VECTOR @@ -67,7 +24,7 @@ class SpectrumReader(ReadonlyRegisterBase, ReadonlyRegisterArray): def getSize(self): return len(Scienta.getSpectrumX()) -energy_scale_array = [] + class SpectrumReader1(SpectrumReader): def setup(self): @@ -107,46 +64,98 @@ class ImageReader(ReadonlyRegisterBase, ReadonlyRegisterMatrix): def getHeight(self): return Scienta.getDataMatrix().getHeight() -reader1 = SpectrumReader1(); reader1.initialize() -reader2 = SpectrumReader2(); reader2.initialize() -#reader3 = SpectrumReader3(); reader3.initialize() -image1 = ImageReader(); image1.initialize(); image1.index=0; set_device_alias(image1, "Image1") -image2 = ImageReader(); image2.initialize(); image2.index=1; set_device_alias(image2, "Image2") -#image3 = ImageReader(); image3.initialize(); image3.index=2; set_device_alias(image3, "Image3") + +def measure_stuff(): + global energy_scale_array, energy_scale_table, VECTOR,pass_energy_hold,angle_time,angle_range,azi_range + reader1 = SpectrumReader1(); reader1.initialize() + reader2 = SpectrumReader2(); reader2.initialize() + #reader3 = SpectrumReader3(); reader3.initialize() + image1 = ImageReader(); image1.initialize(); image1.index=0; set_device_alias(image1, "Image1") + image2 = ImageReader(); image2.initialize(); image2.index=1; set_device_alias(image2, "Image2") + #image3 = ImageReader(); image3.initialize(); image3.index=2; set_device_alias(image3, "Image3") -Scienta.getDataMatrix() + Scienta.getDataMatrix() -SENSORS = [RefCurrent, reader1, image1, reader2, image2]#, reader3, image3] + SENSORS = [RefCurrent, reader1, image1, reader2, image2]#, reader3, image3] -Scienta.setAcquisitionMode(ch.psi.pshell.epics.Scienta.AcquisitionMode.Swept) + Scienta.setAcquisitionMode(ch.psi.pshell.epics.Scienta.AcquisitionMode.Swept) -energy_scale_table = "scan 1/EnergyScale" -create_dataset(energy_scale_table, 'd', dimensions=[0,9]) + energy_scale_table = "scan 1/EnergyScale" + create_dataset(energy_scale_table, 'd', dimensions=[0,9]) -adjust_sensors() -set_adc_averaging() -set_preference(Preference.PLOT_TYPES, {'Scienta spectrum':1}) + adjust_sensors() + set_adc_averaging() + set_preference(Preference.PLOT_TYPES, {'Scienta spectrum':1}) -try: -# for ll in range(len(azi_range)): -# ManipulatorPhi.move(azi_range[ll]) -# for nn in range(len(angle_range)): - tic = time.time() -# ManipulatorTheta.move(angle_range[nn]) -# print 'current theta is ', ManipulatorTheta.take(), ' and current azimuth is ' , ManipulatorPhi.take() - Scienta.setPassEnergy(pass_energy_hold) - Scienta.getStepTime().write(angle_time[nn]) - sleep(1) - vscan(Eph, SENSORS, VECTOR, True, LATENCY,False, before_read=wait_beam, after_read = after_readout) - toc = time.time() - tictoc = round((toc-tic)/60*100)/100 - print 'time taken is ', tictoc, ' minutes' -finally: - if ENDSCAN: - after_scan() + try: + # for ll in range(len(azi_range)): + # ManipulatorPhi.move(azi_range[ll]) + # for nn in range(len(angle_range)): + tic = time.time() + # ManipulatorTheta.move(angle_range[nn]) + # print 'current theta is ', ManipulatorTheta.take(), ' and current azimuth is ' , ManipulatorPhi.take() + Scienta.setPassEnergy(pass_energy_hold) + Scienta.getStepTime().write(angle_time[nn]) + sleep(1) + vscan(Eph, SENSORS, VECTOR, True, LATENCY,False, before_read=wait_beam, after_read = after_readout) + toc = time.time() + tictoc = round((toc-tic)/60*100)/100 + print 'time taken is ', tictoc, ' minutes' + finally: + if ENDSCAN: + after_scan() + +global initial_energy_range,energy_scale_array, energy_scale_table, VECTOR,pass_energy_hold,angle_time,angle_range,azi_range +#################### Si 2p PhD scan ############################## +VECTOR = [ 170.0,174] +#for nn in range(63): +# VECTOR.append(VECTOR[-1]+4) +#nn = 0 -toc = time.time() + +initial_energy_range = [[63, 67, 0.1], + [67.5, 77, 0.5]] +pass_energy_hold = 20 +angle_time = [0.5, 0.6, 0.7] +angle_range = [-9.2, -9.2+30. -9.2+60.] +azi_range = [-90., -45.] + +measure_stuff() + +#################### C 1s PhD scan ############################## +VECTOR = [ 340.0,344] +#for nn in range(63): +# VECTOR.append(VECTOR[-1]+4) +#nn = 0 + + +initial_energy_range = [[45, 52.4, 0.1], + [52.5, 62.5, 0.5]] +pass_energy_hold = 50 +angle_time = [0.6, 0.7] +angle_range = [-9.2, -9.2+30.] +azi_range = [-90., -45.] + +measure_stuff() + +#################### O 1s PhD scan ############################## +VECTOR = [ 630.0,634] +#for nn in range(63): +# VECTOR.append(VECTOR[-1]+4) + +pass_energy_hold = 100 + +initial_energy_range = [[87.2, 95.5, 0.1], + [95.0, 105.0, 0.5]] + +angle_time = [0.3, 0.4, 0.5, 0.6] +angle_range = [-9.2+20., -9.2+40., -9.2+60.] +azi_range = [-90., -45.] +energy_scale_array = [] + +measure_stuff() +#toc = time.time()