Script execution

This commit is contained in:
x03daop
2016-08-05 11:21:24 +02:00
parent a75db1f336
commit f39cb19964

View File

@@ -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()