""" Arguments: """ MOTORS = [Eph] VECTOR = [295.0, 296.0] LATENCY = 0.0 REGION1 = {'elo': 240.0, 'ehi': 242.0, 'estep': 0.1, 'epass': 100, 'tstep': 0.1, 'iter': 1} REGION2 = {'elo': 241.0, 'ehi': 243.0, 'estep': 0.2, 'epass': 100, 'tstep': 0.1, 'iter': 1} REGIONS = [REGION1, REGION2] class SpectrumReader(ReadonlyRegisterBase, ReadonlyRegisterArray): def setup(self): print "enter SpectrumReader.setup" Scienta.lowEnergy.write(region['elo']) Scienta.highEnergy.write(region['ehi']) Scienta.stepSize.write(region['estep']) Scienta.setPassEnergy(region['epass']) Scienta.stepTime.write(region['tstep']) Scienta.setIterations(region['iter']) print "exit SpectrumReader.setup" def read(self): print "enter SpectrumReader.read" print str(self.region) self.setup() print "trig_scienta" trig_scienta() time.sleep(0.5) print "getSpectrum" return Scienta.getSpectrum().read() def getSize(self): print "getSize" return len(Scienta.getSpectrumX()) class ImageReader(ReadonlyRegisterBase, ReadonlyRegisterMatrix): def read(self): print "ImageReader.read" print str(self.region) return Scienta.getDataMatrix().read() def getWidth(self): print "ImageReader.getWidth" return Scienta.getDataMatrix().getWidth() def getHeight(self): print "ImageReader.getHeight" return Scienta.getDataMatrix().getHeight() index = 0 reader1 = SpectrumReader() reader1.initialize() reader1.index = index reader1.region = REGIONS[index] image1 = ImageReader() image1.initialize() image1.index = index image1.region = REGIONS[index] set_device_alias(image1, "ScientaImage1") index = 1 reader2 = SpectrumReader() reader2.initialize() reader2.index = index reader2.region = REGIONS[index] image2 = ImageReader() image2.initialize() image2.index = index image2.region = REGIONS[index] set_device_alias(image2, "ScientaImage2") #reader3 = SpectrumReader() #reader3.initialize() #image3 = ImageReader() #image3.initialize() #image3.index=2 #set_device_alias(image3, "ScientaImage3") SENSORS = [SampleCurrent, RefCurrent, reader1, image1, reader2, image2]#, reader3, image3] Scienta.getDataMatrix() adjust_sensors() set_adc_averaging() set_preference(Preference.PLOT_TYPES, {'Scienta spectrum':1}) vscan(MOTORS, SENSORS, VECTOR, True, LATENCY,False, before_read=wait_beam, after_read = after_readout)