diff --git a/script/SchofieldScan.py b/script/SchofieldScan.py index a0a0959f..5c00dc43 100644 --- a/script/SchofieldScan.py +++ b/script/SchofieldScan.py @@ -8,15 +8,13 @@ MODE ('fixed' or 'swept') TYPE ('CIS' or 'CFS') STEP (double) """ -VECTOR = [ - [630.0,88.0, 94.0], - [634.0,94.0,100.0], - ] +VECTOR = [ 630.0, 634.0] + class SpectrumReader(ReadonlyRegisterBase, ReadonlyRegisterArray): def doRead(self): global VECTOR - self.offset = Eph.getSetpoint().take() - VECTOR[0][0] + self.offset = Eph.getSetpoint().take() - VECTOR[0] self.setup() trig_scienta() return Scienta.getSpectrum().read() @@ -31,6 +29,7 @@ class SpectrumReader1(SpectrumReader): Scienta.getStepSize().write(0.1) Scienta.getLowEnergy().write(88.0 + self.offset) Scienta.getHighEnergy().write(94.0 + self.offset) + global energy_scale_table energy_scale_array = [Scienta.getLowEnergy().take(), Scienta.getHighEnergy().take(), Scienta.getStepSize().take()] class SpectrumReader2(SpectrumReader): @@ -38,6 +37,7 @@ class SpectrumReader2(SpectrumReader): Scienta.getStepSize().write(0.05) Scienta.getLowEnergy().write(94.0 + self.offset) Scienta.getHighEnergy().write(98.0 + self.offset) + global energy_scale_table energy_scale_array.append([Scienta.getLowEnergy().take(), Scienta.getHighEnergy().take(), Scienta.getStepSize().take()]) class SpectrumReader3(SpectrumReader): @@ -46,6 +46,7 @@ class SpectrumReader3(SpectrumReader): Scienta.getLowEnergy().write(98.0 + self.offset) Scienta.getHighEnergy().write(108.0 + self.offset) energy_scale_array.append([Scienta.getLowEnergy().take(), Scienta.getHighEnergy().take(), Scienta.getStepSize().take()]) + global energy_scale_table append_dataset(energy_scale_table,[]) @@ -73,12 +74,8 @@ SENSORS = [RefCurrent, reader1, image1, reader2, image2, reader3, image3] Scienta.setAcquisitionMode(ch.psi.pshell.epics.Scienta.AcquisitionMode.Swept) -Scienta.lowEnergy.write(VECTOR[0][1]) -Scienta.highEnergy.write(VECTOR[0][2]) -writables = (Eph) energy_scale_table = get_context().group + "/EnergyScale" - create_dataset(energy_scale_table, 'd', dimensions=[0,9]) @@ -87,7 +84,7 @@ set_adc_averaging() set_preference(Preference.PLOT_TYPES, {'Scienta spectrum':1}) try: - vscan(writables, SENSORS, VECTOR, True, LATENCY,False, before_read=wait_beam, after_read = after_readout) + vscan(Eph, SENSORS, VECTOR, True, LATENCY,False, before_read=wait_beam, after_read = after_readout) finally: if ENDSCAN: after_scan()