Interface HardwareTriggeredDetector
- All Superinterfaces:
Configurable,Detector,Device,Findable,gda.observable.IObservable,Scannable
- All Known Subinterfaces:
HardwareTriggerableDetector,HardwareTriggeredNexusXmap
- All Known Implementing Classes:
ADPilatus,DummyHardwareTriggerableAreaDetector,DummyHardwareTriggerableDetector,DummyHardwareTriggerableDetectorBase,DummyHardwareTriggerableSimpleDetector,DummyHardwareTriggeredDetector,DummyHardwareTriggeredNexusXmap,HardwareTriggerableADDetector,HardwareTriggerableDetectorBase,HardwareTriggeredNexusXmapImpl,HardwareTriggeredNXDetector,HardwareTriggeredNXDetectorWithReadoutTime,HardwareTriggeredNXDetectorWithReadoutTimeAndVariableCollectionTime,HardwareTriggeredXspress3Detector,NexusDetectorProcessor,TFGTriggeredScaler,ZebraExternallyTriggeredDetector
HardwareTriggerProvider
representing a controller that it is physically wired to (e.g. a ContinuousMoveController). To work with the
TrajectoryScanLine class, an implementation should behave as described here:
An AbtsractContinuousScanLine will call Detector.setCollectionTime(double), then
setNumberImagesToCollect(int) then Detector.prepareForCollection(). The implementation will then
have DetectorDetector.readout() or if implemented PositionCallableProvider.getPositionCallable()
called for each point that *will* be collected. A call to Detector.collectData() will then be made which should
in this mode of operation arm the detector.
Most implementations should also implement PositionCallableProvider indicating that they will return data via
Callables which block until the data is actually available. Implementing PositionInputStream and
deferring calls to PositionCallableProvider.getPositionCallable() to a PositionStreamIndexer may be
the simplest way to do this.
Detectors which operate in applications that require variable trigger times during a scan should implement
VariableCollectionTimeDetector.
-
Field Summary
Fields inherited from interface gda.device.Scannable
ATTR_NEXUS_CATEGORY, ATTR_NX_CLASS, DEFAULT_INPUT_NAME, VALUE_UNAVAILABLE -
Method Summary
Modifier and TypeMethodDescriptionGet theHardwareTriggerProviderthat represents the controller this Detector is wired to.booleanDetectors that sample some value at the time of a trigger should return False.voidsetNumberImagesToCollect(int numberImagesToCollect) Tell the detector how many scan points to collect.Methods 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
-
getHardwareTriggerProvider
HardwareTriggerProvider getHardwareTriggerProvider()Get theHardwareTriggerProviderthat represents the controller this Detector is wired to.- Returns:
- the trigger provider
-
setNumberImagesToCollect
void setNumberImagesToCollect(int numberImagesToCollect) Tell the detector how many scan points to collect. (Unfortunately named images).- Parameters:
numberImagesToCollect-
-
integratesBetweenPoints
boolean integratesBetweenPoints()Detectors that sample some value at the time of a trigger should return False. Detectors such as counter timers should return True. If true ,TrajectoryScanLine will generate a trigger half a point before the motor reaches a demanded point such that the resulting bin of data is centred on the demand position. Area detectors that will be triggered by the first pulse should also return true.- Returns:
- true for detectors that integrates b
-