Script execution
This commit is contained in:
@@ -46,34 +46,49 @@ ROI1_On = ChannelDoubleArray('X10DA-PILATUS-1:Stats1:ProfileCursorX_RBV', 'X10DA
|
||||
ROI2_On = ChannelDoubleArray('X10DA-PILATUS-1:Stats2:ProfileCursorX_RBV', 'X10DA-PILATUS-1:Stats2:ProfileCursorX_RBV' , ROI2size)
|
||||
|
||||
|
||||
detectors = [SAI01, SAI02, RingCurrent, PilExpTime, PilFileNum, TotalCounts, TiffFileNumber, TiffFileNumber, ROI4, ROI1_On, ROI2_On]
|
||||
for det in detectors:
|
||||
det.initialize()
|
||||
|
||||
#Pseudo-devices
|
||||
class Roi1_Off(Readable, ReadableArray):
|
||||
class Roi1Off(Readable, ReadableArray):
|
||||
def read(self):
|
||||
before_sample()
|
||||
DELAY.write(100)
|
||||
time.sleep(0.1)
|
||||
self.cache = caget('X10DA-PILATUS-1:Stats1:ProfileCursorX_RBV', '[d')
|
||||
DELAY.write(0)
|
||||
self.cache = caget(ROI1_On.channelName, '[d')
|
||||
return self.cache
|
||||
|
||||
def getSize(self):
|
||||
return ROI1.getSize()
|
||||
ROI1_Off=Roi1_Off()
|
||||
|
||||
|
||||
class Roi1Diff(Readable, ReadableArray):
|
||||
class Roi2Off(Readable, ReadableArray):
|
||||
def read(self):
|
||||
return arrsub(ROI1_On.take(), ROI1_Off.cache)
|
||||
self.cache = caget(ROI2_On.channelName, '[d')
|
||||
DELAY.write(0)
|
||||
return self.cache
|
||||
|
||||
def getSize(self):
|
||||
return ROI2.getSize()
|
||||
|
||||
ROI1_Off=Roi1Off()
|
||||
ROI2_Off=Roi2Off()
|
||||
|
||||
class RoiDiff(Readable, ReadableArray):
|
||||
def __init__(self, roi_on, roi_off):
|
||||
self.roi_on = roi_on
|
||||
self.roi_off = roi_off
|
||||
|
||||
def read(self):
|
||||
return arrsub(self.roi_on.take(), self.roi_off.cache)
|
||||
|
||||
def getSize(self):
|
||||
return ROI1.getSize()
|
||||
ROI1_Diff=Roi1Diff()
|
||||
return self.roi_on.getSize()
|
||||
|
||||
ROI1_Diff=RoiDiff(ROI1_On, ROI1_Off)
|
||||
ROI2_Diff=RoiDiff(ROI2_On, ROI2_Off)
|
||||
|
||||
|
||||
detectors = [SAI01, SAI02, RingCurrent, PilExpTime, PilFileNum, TotalCounts, TiffFileNumber, TiffFileNumber, ROI4, ROI1_On, ROI1_On]
|
||||
for det in detectors:
|
||||
det.initialize()
|
||||
|
||||
def before_sample():
|
||||
DELAY.write(0)
|
||||
caputq('X10DA-PILATUS-1:cam1:Acquire', 1)
|
||||
@@ -84,7 +99,8 @@ def before_sample():
|
||||
sleep(0.1)
|
||||
|
||||
try:
|
||||
tscan(detectors + [ROI1_Off, ROI1_Diff], 30, 0, before_read = before_sample)
|
||||
#tscan(detectors + [ROI1_Off, ROI1_Diff, ROI2_Off, ROI2_Diff], 30, 0, before_read = before_sample)
|
||||
vscan(DELAY, detectors + [ROI1_Off, ROI1_Diff, ROI2_Off, ROI2_Diff], [0,100], passes=30, before_read = before_sample)
|
||||
finally:
|
||||
for det in detectors:
|
||||
det.close()
|
||||
|
||||
Reference in New Issue
Block a user