Package gda.device.detector
Interface BufferedDetector
- All Superinterfaces:
Configurable,Detector,Device,Findable,gda.observable.IObservable,Scannable
- All Known Subinterfaces:
SimulatedBufferedDetector
- All Known Implementing Classes:
BufferedEdeDetector,BufferedNXDetector,BufferedPandaDetector,BufferedScaler,BufferedScannablePositions,DataSocketDetector,DummyBufferedDetector,DummyXmapBufferedDetector,EpicsScanData,QexafsFFoverIO,QexafsGMSDOverI0,VortexQexafsFFIO,XmapBufferedDetector,Xspress2BufferedDetector,Xspress3BufferedDetector,Xspress3FFoverI0BufferedDetector,Xspress3QexafsDetector,Xspress4BufferedDetector
Interface for detectors who can hold a series of data points (frames) in memory which can be read out once a scan has
finished. Such detectors are triggered by hardware and not by the GDA software. This mean the detector can be used in
fast scans where the readout will be at a slower rate than the data collection.
-
Field Summary
Fields inherited from interface gda.device.Scannable
ATTR_NEXUS_CATEGORY, ATTR_NX_CLASS, DEFAULT_INPUT_NAME, VALUE_UNAVAILABLE -
Method Summary
Modifier and TypeMethodDescriptionvoidClears the detector memoryintbooleanintAs certain detectors may cause memory issues if too many frames are attempted to be read in one go, this is the maximum for this detector based on its current configuration (i.e.Object[]An array of the data from the detector.Object[]readFrames(int startFrame, int finalFrame) An array of the data from the detector.voidsetContinuousMode(boolean on) When in slave mode the detector will be triggered by an external signal to collect each frame of data.voidsetContinuousParameters(ContinuousParameters parameters) Sets the parameters which define the continuous movement to useMethods inherited from interface gda.factory.Configurable
configure, isConfigureAtStartup, isConfigured, reconfigureMethods inherited from interface gda.device.Detector
collectData, createsOwnFiles, endCollection, getCollectionTime, getDataDimensions, getDescription, getDetectorID, getDetectorType, getFileStructure, getStatus, prepareForCollection, readout, setCollectionTime, waitWhileBusyMethods inherited from interface gda.device.Device
close, getAttribute, getProtectionLevel, setAttribute, setProtectionLevelMethods inherited from interface gda.observable.IObservable
addIObserver, deleteIObserver, deleteIObserversMethods inherited from interface gda.device.Scannable
asynchronousMoveTo, atCommandFailure, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atPointStart, atScanEnd, atScanLineEnd, atScanLineStart, atScanStart, checkPositionValid, getExtraNames, getInputNames, getLevel, getOutputFormat, getPosition, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, isAt, isBusy, moveTo, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, stop, toFormattedString
-
Method Details
-
clearMemory
Clears the detector memory- Throws:
DeviceException
-
setContinuousMode
When in slave mode the detector will be triggered by an external signal to collect each frame of data.- Parameters:
on-- Throws:
DeviceException
-
isContinuousMode
- Returns:
- true if the detector is ready to accept trigger pulses
- Throws:
DeviceException
-
setContinuousParameters
Sets the parameters which define the continuous movement to use- Parameters:
parameters-- Throws:
DeviceException
-
getContinuousParameters
- Returns:
- ContinuousParameters
- Throws:
DeviceException
-
getNumberFrames
- Returns:
- number of frames of data in memory which have been collected
- Throws:
DeviceException
-
readFrames
An array of the data from the detector. Each element is one frame of data. The first frame is 0.- Parameters:
startFrame-finalFrame-- Returns:
- Object
- Throws:
DeviceException
-
readAllFrames
An array of the data from the detector. Each element is one frame of data.- Returns:
- Object
- Throws:
DeviceException
-
maximumReadFrames
As certain detectors may cause memory issues if too many frames are attempted to be read in one go, this is the maximum for this detector based on its current configuration (i.e. after setContinuousMode(True) has been called.The lowest value returned from any of the detectors in a continuous scan will be the limit set.
If there is no limit then this method should return Integer.MAX_VALUE.
- Returns:
- int - the maximum number of frames which should be read at any one time from this detector
- Throws:
DeviceException
-