Package gda.device.detector.addetector
Class HardwareTriggerableADDetector
java.lang.Object
gda.factory.ConfigurableBase
gda.factory.FindableConfigurableBase
gda.device.DeviceBase
gda.device.scannable.ScannableBase
gda.device.detector.DetectorBase
gda.device.detector.addetector.ADDetector
gda.device.detector.addetector.HardwareTriggerableADDetector
- All Implemented Interfaces:
Detector,HardwareTriggerableDetector,HardwareTriggeredDetector,NexusDetector,Device,Scannable,PositionCallableProvider<NexusTreeProvider>,Configurable,Findable,gda.observable.IObservable,Serializable,org.springframework.beans.factory.InitializingBean
- Direct Known Subclasses:
ADPilatus
public class HardwareTriggerableADDetector
extends ADDetector
implements HardwareTriggerableDetector
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class gda.device.detector.addetector.ADDetector
ADDetector.NullFileWriter -
Field Summary
Fields inherited from class gda.device.detector.addetector.ADDetector
afterPropertiesSetCalled, FILEPATH_EXTRANAME, firstReadoutInScanFields inherited from class gda.device.detector.DetectorBase
collectionTimeFields inherited from class gda.device.scannable.ScannableBase
__doc__, DEFAULT_INPUT_NAME, DEFAULT_OUTPUT_FORMAT, extraNames, inputNames, level, outputFormatFields inherited from class gda.device.DeviceBase
DEFAULT_PROTECTION_LEVEL_PROPERTYFields inherited from interface gda.device.Scannable
ATTR_NEXUS_CATEGORY, ATTR_NX_CLASS, DEFAULT_INPUT_NAME, VALUE_UNAVAILABLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidRead settings of filewriter for later use when predicting filenames to put into callablesvoidCalled for every Scannable at the start of a group of nested scans (or a single scan if that is the case)voidTells the detector to begin to collect a set of data, then returns immediately.protected Stringprotected StringcreateFileNameForExposure(int exposureNumber) doubleGet theHardwareTriggerProviderthat represents the controller this Detector is wired to.intbooleanDetectors that sample some value at the time of a trigger should return False.booleanbooleanbooleanvoidsetExposureCompleteWhenArrayCounterSaysSo(boolean exposureCompleteWhenArrayCounterSaysSo) voidsetExposureCompleteWhenFileIsVisible(boolean exposureCompleteWhenFileIsVisible) voidsetExposureCompletionTimeoutS(double exposureCompletionTimeoutS) voidsetHardwareTriggeredCollectionStrategy(NXCollectionStrategyPlugin hardwareTriggeredCollectionStrategy) voidsetHardwareTriggering(boolean hardwareTriggering) Configure the Detector to trigger on hardware triggers, or not.voidsetHardwareTriggerProvider(HardwareTriggerProvider triggerProvider) voidsetIntegratesBetweenPoints(boolean integratesBetweenPoints) voidsetNonHardwareTriggeredCollectionStrategy(NXCollectionStrategyPlugin nonHardwareTriggeredCollectionStrategy) voidsetNumberImagesToCollect(int numberImagesToCollect) Tell the detector how many scan points to collect.voidwaitWhileExposureCompletes(int exposureNumber) Methods inherited from class gda.device.detector.addetector.ADDetector
addDoubleItemToNXData, addMultipleDoubleItemsToNXData, appendDataAxes, appendNXDetectorDataFromCollectionStrategy, asynchronousMoveTo, atCommandFailure, atScanEnd, clearCachedCallable, configure, configureExtraNamesAndOutputFormat, createNXDetectorData, createsOwnFiles, endCollection, getAdBase, getCollectionStrategy, getDataChunking, getDescription, getDetectorID, getDetectorType, getFileWriter, getMetaDataProvider, getNdArray, getNdFile, getNdOverlays, getNdPython, getNdStats, getPosition, getStatus, isBusy, isCheckFileExists, isComputeCentroid, isComputeStats, isDisableCallbacks, isReadAcquisitionPeriod, isReadAcquisitionTime, isReadArray, isReadCapturedFramesCount, isReadFilepath, isUsePipeline, prepareForArrayAndStatsCollection, prepareForCollection, readout, readoutArrayIntoNXDetectorData, reset, setAdBase, setCheckFileExists, setCollectionStrategy, setComputeCentroid, setComputeStats, setDataChunking, setDescription, setDetectorID, setDetectorType, setDisableCallbacks, setFileWriter, setMetaDataProvider, setNdArray, setNdFile, setNdOverlays, setNdPython, setNdStats, setReadAcquisitionPeriod, setReadAcquisitionTime, setReadArray, setReadCapturedFramesCount, setReadFilepath, setUsePipeline, stop, waitWhileBusyMethods inherited from class gda.device.detector.DetectorBase
checkPositionValid, getCollectionTime, getDataDimensions, setCollectionTime, toFormattedStringMethods inherited from class gda.device.scannable.ScannableBase
__call__, __call__, __doc__, __getitem__, __len__, __repr__, __str__, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atPointStart, atScanLineEnd, externalToInternal, getExtraNames, getInputNames, getLevel, getOutputFormat, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, internalToExternal, isAt, moveTo, rawAsynchronousMoveTo, rawGetPosition, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, throwExceptionIfInvalidTarget, toString, validateScannable, valueUnavailableString, waitWhileBusyMethods inherited from class gda.device.DeviceBase
addIObserver, close, deleteIObserver, deleteIObservers, getAttribute, getName, getProtectionLevel, isBeingObserved, isConfigureAtStartup, notifyIObservers, setAttribute, setConfigureAtStartup, setName, setProtectionLevelMethods inherited from class gda.factory.ConfigurableBase
isConfigured, reconfigure, setConfiguredMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface gda.factory.Configurable
configure, isConfigureAtStartup, isConfigured, reconfigureMethods inherited from interface gda.device.Detector
createsOwnFiles, endCollection, getCollectionTime, getDataDimensions, getDescription, getDetectorID, getDetectorType, getFileStructure, getStatus, prepareForCollection, 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, checkPositionValid, getExtraNames, getInputNames, getLevel, getOutputFormat, getPosition, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, isAt, isBusy, moveTo, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, stop, toFormattedString
-
Constructor Details
-
HardwareTriggerableADDetector
public HardwareTriggerableADDetector()
-
-
Method Details
-
setIntegratesBetweenPoints
public void setIntegratesBetweenPoints(boolean integratesBetweenPoints) -
setHardwareTriggerProvider
-
getHardwareTriggerProvider
Description copied from interface:HardwareTriggeredDetectorGet theHardwareTriggerProviderthat represents the controller this Detector is wired to.- Specified by:
getHardwareTriggerProviderin interfaceHardwareTriggeredDetector- Returns:
- the trigger provider
-
setExposureCompleteWhenFileIsVisible
public void setExposureCompleteWhenFileIsVisible(boolean exposureCompleteWhenFileIsVisible) -
isExposureCompleteWhenFileIsVisible
public boolean isExposureCompleteWhenFileIsVisible() -
setExposureCompleteWhenArrayCounterSaysSo
public void setExposureCompleteWhenArrayCounterSaysSo(boolean exposureCompleteWhenArrayCounterSaysSo) -
isExposureCompleteWhenArrayCounterSaysSo
public boolean isExposureCompleteWhenArrayCounterSaysSo() -
getExposureCompletionTimeoutS
public double getExposureCompletionTimeoutS() -
setExposureCompletionTimeoutS
public void setExposureCompletionTimeoutS(double exposureCompletionTimeoutS) -
integratesBetweenPoints
public boolean integratesBetweenPoints()Description copied from interface:HardwareTriggeredDetectorDetectors 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.- Specified by:
integratesBetweenPointsin interfaceHardwareTriggeredDetector- Returns:
- true for detectors that integrates b
-
setHardwareTriggering
Description copied from interface:HardwareTriggerableDetectorConfigure the Detector to trigger on hardware triggers, or not.- Specified by:
setHardwareTriggeringin interfaceHardwareTriggerableDetector- Parameters:
hardwareTriggering-- Throws:
DeviceException
-
setNumberImagesToCollect
public void setNumberImagesToCollect(int numberImagesToCollect) Description copied from interface:HardwareTriggeredDetectorTell the detector how many scan points to collect. (Unfortunately named images).- Specified by:
setNumberImagesToCollectin interfaceHardwareTriggeredDetector- Parameters:
numberImagesToCollect-
-
getNumberImagesToCollect
public int getNumberImagesToCollect() -
atScanStart
Description copied from class:ScannableBaseCalled for every Scannable at the start of a group of nested scans (or a single scan if that is the case) Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.- Specified by:
atScanStartin interfaceScannable- Overrides:
atScanStartin classADDetector- Throws:
DeviceException- See Also:
-
isHardwareTriggering
public boolean isHardwareTriggering()- Specified by:
isHardwareTriggeringin interfaceHardwareTriggerableDetector- Returns:
- true if configured to triger on hardware triggers.
-
atScanLineStart
Read settings of filewriter for later use when predicting filenames to put into callables- Specified by:
atScanLineStartin interfaceScannable- Overrides:
atScanLineStartin classScannableBase- Throws:
DeviceException- See Also:
-
collectData
Description copied from interface:DetectorTells the detector to begin to collect a set of data, then returns immediately. Should cause the hardware to start collecting immediately: if there is any delay then detectors used in the same scan would collect over different times when beam conditions may differ.- Specified by:
collectDatain interfaceDetector- Overrides:
collectDatain classADDetector- Throws:
DeviceException
-
createFileName
- Overrides:
createFileNamein classADDetector- Throws:
Exception
-
createFileNameForExposure
-
getPositionCallable
- Specified by:
getPositionCallablein interfacePositionCallableProvider<NexusTreeProvider>- Overrides:
getPositionCallablein classADDetector- Throws:
DeviceException
-
waitWhileExposureCompletes
- Throws:
InterruptedExceptionException
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Overrides:
afterPropertiesSetin classADDetector- Throws:
Exception
-
getHardwareTriggeredCollectionStrategy
-
setHardwareTriggeredCollectionStrategy
public void setHardwareTriggeredCollectionStrategy(NXCollectionStrategyPlugin hardwareTriggeredCollectionStrategy) -
getNonHardwareTriggeredCollectionStrategy
-
setNonHardwareTriggeredCollectionStrategy
public void setNonHardwareTriggeredCollectionStrategy(NXCollectionStrategyPlugin nonHardwareTriggeredCollectionStrategy)
-