Class Xspress3BufferedDetector
- All Implemented Interfaces:
Detector,BufferedDetector,NexusDetector,Device,Scannable,Configurable,Findable,gda.observable.IObservable,Serializable,DetectorWithConfigurationFile,FluorescenceDetector,Xspress3
This decorates an underlying Xspress3Detector instance so that changing the settings on one of the instances affects the other, as users would expect.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected ContinuousParametersprotected Xspress3Fields 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 TypeMethodDescriptionvoidaddIObserver(gda.observable.IObserver observer) voidConfigure the detector using the given parametersvoidasynchronousMoveTo(Object collectionTime) Default implementation is to set the collection time and to call the collectData methodvoidHook to be used by Scan and pos commands to inform the Scannable that an exception, such as a DeviceExcpetion, has occurred.voidDefault behaviour is to do nothing.voidCalled by both the pos and scan commands at the start of each subsequent level move only on Scannables that will be moved as part that level's movement.voidCalled by both the pos and scan commands at the start of each subsequent level move on all Scannables that are part that level's movement.voidCalled on every Scannable at the end of every data point, for scans which are broken down into individual points (i.e.voidCalled on every Scannable at every data point, for scans which are broken down into individual points (i.e.voidCalled for every Scannable at the end of a group of nested scans (or a single scan if that is the case).voidCalled for every Scannable at the end of every scanvoidCalled for every Scannable at the start of every scanvoidCalled for every Scannable at the start of a group of nested scans (or a single scan if that is the case)voidvoidClears the detector memoryvoidclose()Close and unconfigure the device.voidTells the detector to begin to collect a set of data, then returns immediately.voidDefault implementation for classes that do not have to do any specific configuration.
Classes that do their own configuration should *not* call this superclass function, as it may cause the object to appear configured before it really is.booleanReturns a value which indicates whether the detector creates its own files.voiddeleteIObserver(gda.observable.IObserver observer) voidvoidDefault which should be overridden by subclasses.getAttribute(String attributeName) Get the value of the specified attributedoubleReturns the time, in seconds, the detector collects for during the next call to collectData()int[]Default which should be overridden by subclasses.double[]String[]Additional names for extra values that returned by getPosition().String[]gets a array of InputNames used by moveTo of this scannable.intgetLevel()get the operation level of this scannable.intdouble[][]getMCAData(double time) Perform a 'snapshot' data collection and return the MCA data.intint[][]getMCData(double time) Deprecated.intintString[]Returns an array of strings which are the format strings to use when pretty printing parts of the outputReturns the current position of the Scannable.intgetRegionsOfInterest(int channel) Return ROIs for a channel (detector element).intReturns the current collecting state of the device.booleanTests if the scannable is at (or if appropriate, close to) the value positionToTest.booleanisBusy()Check if the Scannable is moving/operating.booleanIndicates whether this object should be configured at startup.booleanChecks to see if the object is already configured.booleanbooleanvoidintAs 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.voidTrigger a move/operation and block until completion.voidDefault which should be overridden by subclasses.An array of the data from the detector.readFrames(int startFrame, int finalFrame) An array of the data from the detector.readout()Returns the latest data collected.doublevoidRe-initialisation of values and states.voidsetAttribute(String attributeName, Object value) Set any attribute the implementing classes may providevoidsetCollectionTime(double collectionTime) Sets the collection time, in seconds, to be used during the next call of collectData.voidsetConfigFileName(String configFileName) 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 usevoidsetExtraNames(String[] names) Sets the array of names returned by getExtraNames of this scannable.voidsetInputNames(String[] names) sets the array of names returned by getInputNames method of this scannable.voidsetLevel(int level) Used for ordering the operations of Scannables during scansvoidsetOutputFormat(String[] names) Sets the array of strings describing how best to format the positions from this scannablevoidsetProtectionLevel(int permissionLevel) Sets the permission level for this object.voidsetRegionsOfInterest(DetectorROI[] regionList) Set ROIs for all channels (i.e.voidsetTriggerModeWhenInContinuousScan(TRIGGER_MODE triggerModeWhenInContinuousScan) voidsetWriteHDF5Files(boolean writeHDF5Files) Set to true to configure the detector to write an HDF5 file during a scan.voidsetXspress3Detector(Xspress3 xspress3Detector) voidstop()Stop the current move/operation.Returns a string representation of the Scannable and its current position/value/statustoString()voidReturns when operation carried out by moveTo has completedMethods inherited from class gda.device.detector.DetectorBase
checkPositionValidMethods inherited from class gda.device.scannable.ScannableBase
__call__, __call__, __doc__, __getitem__, __len__, __repr__, __str__, externalToInternal, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, internalToExternal, rawAsynchronousMoveTo, rawGetPosition, setScanMetadataAttribute, setScanMetadataAttributes, throwExceptionIfInvalidTarget, validateScannable, valueUnavailableString, waitWhileBusyMethods inherited from class gda.device.DeviceBase
getName, isBeingObserved, notifyIObservers, setConfigureAtStartup, setNameMethods inherited from class gda.factory.ConfigurableBase
setConfiguredMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface gda.device.Detector
getFileStructureMethods inherited from interface gda.device.Scannable
checkPositionValid, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, setScanMetadataAttribute, setScanMetadataAttributes
-
Field Details
-
xspress3Detector
-
parameters
-
isContinuousModeOn
protected boolean isContinuousModeOn
-
-
Constructor Details
-
Xspress3BufferedDetector
public Xspress3BufferedDetector()
-
-
Method Details
-
clearMemory
Description copied from interface:BufferedDetectorClears the detector memory- Specified by:
clearMemoryin interfaceBufferedDetector- Throws:
DeviceException
-
setContinuousMode
Description copied from interface:BufferedDetectorWhen in slave mode the detector will be triggered by an external signal to collect each frame of data.- Specified by:
setContinuousModein interfaceBufferedDetector- Parameters:
on-- Throws:
DeviceException
-
isContinuousMode
- Specified by:
isContinuousModein interfaceBufferedDetector- Returns:
- true if the detector is ready to accept trigger pulses
- Throws:
DeviceException
-
setContinuousParameters
Description copied from interface:BufferedDetectorSets the parameters which define the continuous movement to use- Specified by:
setContinuousParametersin interfaceBufferedDetector- Parameters:
parameters-- Throws:
DeviceException
-
getContinuousParameters
- Specified by:
getContinuousParametersin interfaceBufferedDetector- Returns:
- ContinuousParameters
- Throws:
DeviceException
-
getNumberFrames
- Specified by:
getNumberFramesin interfaceBufferedDetector- Returns:
- number of frames of data in memory which have been collected
- Throws:
DeviceException
-
readFrames
Description copied from interface:BufferedDetectorAn array of the data from the detector. Each element is one frame of data. The first frame is 0.- Specified by:
readFramesin interfaceBufferedDetector- Specified by:
readFramesin interfaceXspress3- Parameters:
startFrame-finalFrame-- Returns:
- Object
- Throws:
DeviceException
-
readAllFrames
Description copied from interface:BufferedDetectorAn array of the data from the detector. Each element is one frame of data.- Specified by:
readAllFramesin interfaceBufferedDetector- Returns:
- Object
- Throws:
DeviceException
-
maximumReadFrames
Description copied from interface:BufferedDetectorAs 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.
- Specified by:
maximumReadFramesin interfaceBufferedDetector- Returns:
- int - the maximum number of frames which should be read at any one time from this detector
- Throws:
DeviceException
-
getTriggerModeWhenInContinuousScan
-
setTriggerModeWhenInContinuousScan
-
getXspress3Detector
-
setXspress3Detector
-
getCollectionTime
Description copied from interface:DetectorReturns the time, in seconds, the detector collects for during the next call to collectData()- Specified by:
getCollectionTimein interfaceDetector- Overrides:
getCollectionTimein classDetectorBase- Returns:
- double
- Throws:
DeviceException
-
setCollectionTime
Description copied from interface:DetectorSets the collection time, in seconds, to be used during the next call of collectData.- Specified by:
setCollectionTimein interfaceDetector- Overrides:
setCollectionTimein classDetectorBase- Parameters:
collectionTime- the collection time in seconds- Throws:
DeviceException
-
getDataDimensions
Description copied from class:DetectorBaseDefault which should be overridden by subclasses.- Specified by:
getDataDimensionsin interfaceDetector- Overrides:
getDataDimensionsin classDetectorBase- Returns:
- the dimensions of the data object returned by the
Detector.readout()method - Throws:
DeviceException- See Also:
-
getProtectionLevel
public int getProtectionLevel()- Specified by:
getProtectionLevelin interfaceDevice- Overrides:
getProtectionLevelin classDeviceBase- Returns:
- int - the permission level for this object.
-
endCollection
Description copied from class:DetectorBaseDefault which should be overridden by subclasses.- Specified by:
endCollectionin interfaceDetector- Overrides:
endCollectionin classDetectorBase- Throws:
DeviceException- See Also:
-
setProtectionLevel
public void setProtectionLevel(int permissionLevel) Description copied from interface:DeviceSets the permission level for this object. If this is not set then a default value will be applied.- Specified by:
setProtectionLevelin interfaceDevice- Overrides:
setProtectionLevelin classDeviceBase- Parameters:
permissionLevel-
-
prepareForCollection
Description copied from class:DetectorBaseDefault which should be overridden by subclasses.- Specified by:
prepareForCollectionin interfaceDetector- Overrides:
prepareForCollectionin classDetectorBase- Throws:
DeviceException- See Also:
-
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 classScannableBase- Throws:
DeviceException- See Also:
-
asynchronousMoveTo
Description copied from class:DetectorBaseDefault implementation is to set the collection time and to call the collectData method- Specified by:
asynchronousMoveToin interfaceScannable- Overrides:
asynchronousMoveToin classDetectorBase- Parameters:
collectionTime- Position to move to should have an element for each input field.- Throws:
DeviceException- See Also:
-
atScanLineStart
Description copied from class:ScannableBaseCalled for every Scannable at the start of every scan Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.- Specified by:
atScanLineStartin interfaceScannable- Overrides:
atScanLineStartin classScannableBase- Throws:
DeviceException- See Also:
-
getPosition
Description copied from class:DetectorBaseReturns the current position of the Scannable. Called by ConcurentScan at the end of the point. Reads an internal (hardware) position from rawGetPosition, converts this to an external (user) position and returns it. Also, if createsOwnFiles attempts to register the file with all FileRegistrars (primarily for data archiving). Note that this method will be called if the detector is triggered from a 'pos' command but not if the detector is triggered by the scan command (which ignores the detector's scannable interface).- Specified by:
getPositionin interfaceScannable- Overrides:
getPositionin classDetectorBase- Returns:
- Current position with an element for each input and extra field. null if their are no fields.
- Throws:
DeviceException- See Also:
-
configure
Description copied from class:ConfigurableBaseDefault implementation for classes that do not have to do any specific configuration.
Classes that do their own configuration should *not* call this superclass function, as it may cause the object to appear configured before it really is.- Specified by:
configurein interfaceConfigurable- Overrides:
configurein classConfigurableBase- Throws:
FactoryException- if there is an error in configuration e.g. required variable not set or cannot connect to device
-
isConfigured
public boolean isConfigured()Description copied from interface:ConfigurableChecks to see if the object is already configured.- Specified by:
isConfiguredin interfaceConfigurable- Overrides:
isConfiguredin classConfigurableBase- Returns:
- return
trueif configuredfalseotherwise
-
isConfigureAtStartup
public boolean isConfigureAtStartup()Description copied from interface:ConfigurableIndicates whether this object should be configured at startup.Moved from ConditionallyConfigurable which has been deleted
- Specified by:
isConfigureAtStartupin interfaceConfigurable- Overrides:
isConfigureAtStartupin classDeviceBase
-
reconfigure
Description copied from interface:ConfigurableRe-initialisation of values and states.Moved from Reconfigurable which has been deleted
- Specified by:
reconfigurein interfaceConfigurable- Overrides:
reconfigurein classConfigurableBase- Throws:
FactoryException
-
atScanEnd
Description copied from class:ScannableBaseCalled for every Scannable at the end of a group of nested scans (or a single scan if that is the case).Note that this is only called if the Scan finishes normally, or has been requested to finish early. This will not be called if the scan finishes due to an exception of any kind. See
Scannable.atCommandFailure()Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.- Specified by:
atScanEndin interfaceScannable- Overrides:
atScanEndin classScannableBase- Throws:
DeviceException- See Also:
-
atPointEnd
Description copied from class:ScannableBaseCalled on every Scannable at the end of every data point, for scans which are broken down into individual points (i.e. non-continous scans) Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.- Specified by:
atPointEndin interfaceScannable- Overrides:
atPointEndin classScannableBase- Throws:
DeviceException- See Also:
-
close
Description copied from interface:DeviceClose and unconfigure the device.- Specified by:
closein interfaceDevice- Overrides:
closein classDeviceBase- Throws:
DeviceException
-
setAttribute
Description copied from interface:DeviceSet any attribute the implementing classes may provide- Specified by:
setAttributein interfaceDevice- Overrides:
setAttributein classDeviceBase- Parameters:
attributeName- is the name of the attributevalue- is the value of the attribute- Throws:
DeviceException- if an attribute cannot be set
-
getAttribute
Description copied from interface:DeviceGet the value of the specified attribute- Specified by:
getAttributein interfaceDevice- Overrides:
getAttributein classDeviceBase- Parameters:
attributeName- is the name of the attribute- Returns:
- the value of the attribute as an Object type
- Throws:
DeviceException- if an attribute cannot be retrieved
-
isBusy
Description copied from class:DetectorBaseCheck if the Scannable is moving/operating. default implementation is to call the getStatus method- Specified by:
isBusyin interfaceScannable- Overrides:
isBusyin classDetectorBase- Returns:
- true - if operation carried out by moveTo has not completed yet
- Throws:
DeviceException- See Also:
-
toFormattedString
Description copied from interface:ScannableReturns a string representation of the Scannable and its current position/value/statusTypically should return:
name : position
or for detectors, name : status
If the position/status cannot be determined, the function should return
Scannable.VALUE_UNAVAILABLEin its place.- Specified by:
toFormattedStringin interfaceScannable- Overrides:
toFormattedStringin classDetectorBase- Returns:
- string as defined above
-
addIObserver
public void addIObserver(gda.observable.IObserver observer) - Specified by:
addIObserverin interfacegda.observable.IObservable- Overrides:
addIObserverin classDeviceBase
-
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- Throws:
DeviceException
-
deleteIObserver
public void deleteIObserver(gda.observable.IObserver observer) - Specified by:
deleteIObserverin interfacegda.observable.IObservable- Overrides:
deleteIObserverin classDeviceBase
-
deleteIObservers
public void deleteIObservers()- Specified by:
deleteIObserversin interfacegda.observable.IObservable- Overrides:
deleteIObserversin classDeviceBase
-
stop
Description copied from class:ScannableBaseStop the current move/operation. Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.- Specified by:
stopin interfaceScannable- Overrides:
stopin classScannableBase- Throws:
DeviceException- See Also:
-
getStatus
Description copied from interface:DetectorReturns the current collecting state of the device.- Specified by:
getStatusin interfaceDetector- Returns:
- BUSY if the detector has not finished the requested operation(s), IDLE if in an completely idle state and STANDBY if temporarily suspended.
- Throws:
DeviceException
-
getDescription
- Specified by:
getDescriptionin interfaceDetector- Overrides:
getDescriptionin classDetectorBase- Returns:
- A description of the detector.
- Throws:
DeviceException
-
getDetectorID
- Specified by:
getDetectorIDin interfaceDetector- Overrides:
getDetectorIDin classDetectorBase- Returns:
- A identifier for this detector.
- Throws:
DeviceException
-
getDetectorType
- Specified by:
getDetectorTypein interfaceDetector- Overrides:
getDetectorTypein classDetectorBase- Returns:
- The type of detector.
- Throws:
DeviceException
-
createsOwnFiles
Description copied from interface:DetectorReturns a value which indicates whether the detector creates its own files. If it does (return true) the readout() method returns the name of the latest file created as a string. If it does not (return false) the readout() method will return the data directly.- Specified by:
createsOwnFilesin interfaceDetector- Returns:
- true if readout() returns filenames
- Throws:
DeviceException
-
readout
Description copied from interface:DetectorReturns the latest data collected. The size of the Object returned must be consistent with the values returned by getDataDimensions and getExtraNames.If
LocalProperties.GDA_SCAN_CONCURRENTSCAN_READOUT_CONCURRENTLYis true then motors may be moved while the detector readouts. The value returned must not be effected by any concurrent motor or shutter movements. SeeDetector.waitWhileBusy()andConcurrentScan. Readout must block until the detector is ready to respond quickly toDetector.collectData()again.- Specified by:
readoutin interfaceDetector- Specified by:
readoutin interfaceNexusDetector- Returns:
- the data collected
- Throws:
DeviceException
-
getExtraNames
Description copied from interface:ScannableAdditional names for extra values that returned by getPosition().- Specified by:
getExtraNamesin interfaceScannable- Overrides:
getExtraNamesin classScannableBase- Returns:
- array of names of the extra elements if the array returned by getPosition is larger than the array required by moveTo
-
atPointStart
Description copied from class:ScannableBaseCalled on every Scannable at every data point, for scans which are broken down into individual points (i.e. non-continuous scans) Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.- Specified by:
atPointStartin interfaceScannable- Overrides:
atPointStartin classScannableBase- Throws:
DeviceException- See Also:
-
atScanLineEnd
Description copied from class:ScannableBaseCalled for every Scannable at the end of every scan Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.- Specified by:
atScanLineEndin interfaceScannable- Overrides:
atScanLineEndin classScannableBase- Throws:
DeviceException- See Also:
-
clearAndStart
- Specified by:
clearAndStartin interfaceXspress3- Throws:
DeviceException
-
atLevelStart
Description copied from class:ScannableBaseCalled by both the pos and scan commands at the start of each subsequent level move on all Scannables that are part that level's movement.This provides a useful mechanism for e.g. creating a Scannable that opens a shutter after motors have moved but before a detector is exposed. Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.
- Specified by:
atLevelStartin interfaceScannable- Overrides:
atLevelStartin classScannableBase- Throws:
DeviceException- See Also:
-
atLevelMoveStart
Description copied from class:ScannableBaseCalled by both the pos and scan commands at the start of each subsequent level move only on Scannables that will be moved as part that level's movement.For example "pos a 1 b 2 c 3", will, if a and b have the same level and c a higher level will result in:
This hook is used by CoordinatedMotionScannables. Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.a.atLevelMoveStart() invalid input: '<'---- b.atLevelMoveStart() invalid input: '<'---- a.asynchronousMoveTo() b.asynchronousMoveTo() a.waitWhileBusy() b.waitWhileBusy() c.atLevelMoveStart() invalid input: '<'---- c.asynchronousMoveTo() c.waitWhileBusy()
- Specified by:
atLevelMoveStartin interfaceScannable- Overrides:
atLevelMoveStartin classScannableBase- Throws:
DeviceException- See Also:
-
getMCData
Deprecated.Description copied from interface:Xspress3Perform a 'snapshot' data collection and return the MCAs. No file writing is involved.- Specified by:
getMCDatain interfaceXspress3- Throws:
DeviceException
-
getMCAData
Description copied from interface:FluorescenceDetectorPerform a 'snapshot' data collection and return the MCA data. No file writing is involved.- Specified by:
getMCADatain interfaceFluorescenceDetector- Parameters:
time- The collection time in milliseconds- Returns:
- the MCA data as a double array: [detector element][MCA channel]
- Throws:
DeviceException
-
atLevelEnd
Description copied from class:ScannableBaseDefault behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.- Specified by:
atLevelEndin interfaceScannable- Overrides:
atLevelEndin classScannableBase- Throws:
DeviceException- See Also:
-
atCommandFailure
Description copied from class:ScannableBaseHook to be used by Scan and pos commands to inform the Scannable that an exception, such as a DeviceExcpetion, has occurred. However not called when the command is aborted using an InterruptionException. If a Scan is aborted then onlyScannable.stop()will be called by the Scan or pos command.Useful for telling Scannables which hold state during a scan for example, to reset themselves. Used for example by CoordinatedMotionScannables. This hook should be used not in the same way as the stop hook. Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.
- Specified by:
atCommandFailurein interfaceScannable- Overrides:
atCommandFailurein classScannableBase- Throws:
DeviceException- See Also:
-
getInputNames
Description copied from interface:Scannablegets a array of InputNames used by moveTo of this scannable.- Specified by:
getInputNamesin interfaceScannable- Overrides:
getInputNamesin classScannableBase- Returns:
- array of the names of the elements of the object returned by getPosition
-
getLevel
public int getLevel()Description copied from interface:Scannableget the operation level of this scannable.- Specified by:
getLevelin interfaceScannable- Overrides:
getLevelin classScannableBase- Returns:
- int - the level
-
getOutputFormat
Description copied from interface:ScannableReturns an array of strings which are the format strings to use when pretty printing parts of the output- Specified by:
getOutputFormatin interfaceScannable- Overrides:
getOutputFormatin classScannableBase- Returns:
- string array
-
moveTo
Description copied from class:ScannableBaseTrigger a move/operation and block until completion. If this is overridden, asynchronousMoveTo must also be valid, and the externalToInternal conversion must be applied.- Specified by:
moveToin interfaceScannable- Overrides:
moveToin classScannableBase- Parameters:
position-- Throws:
DeviceException
-
setExtraNames
Description copied from interface:ScannableSets the array of names returned by getExtraNames of this scannable.- Specified by:
setExtraNamesin interfaceScannable- Overrides:
setExtraNamesin classScannableBase- Parameters:
names-
-
setInputNames
Description copied from interface:Scannablesets the array of names returned by getInputNames method of this scannable.- Specified by:
setInputNamesin interfaceScannable- Overrides:
setInputNamesin classScannableBase- Parameters:
names-
-
setLevel
public void setLevel(int level) Description copied from interface:ScannableUsed for ordering the operations of Scannables during scans- Specified by:
setLevelin interfaceScannable- Overrides:
setLevelin classScannableBase- Parameters:
level-
-
setOutputFormat
Description copied from interface:ScannableSets the array of strings describing how best to format the positions from this scannable- Specified by:
setOutputFormatin interfaceScannable- Overrides:
setOutputFormatin classScannableBase- Parameters:
names-
-
toString
- Overrides:
toStringin classScannableBase
-
waitWhileBusy
Description copied from class:ScannableBaseReturns when operation carried out by moveTo has completed If this is to be overriden, isBusy must also be valid. Although the pos and scan command currently use this method to determine if the Scannable is busy, this must not be relied upon.- Specified by:
waitWhileBusyin interfaceDetector- Specified by:
waitWhileBusyin interfaceScannable- Overrides:
waitWhileBusyin classScannableBase- Throws:
DeviceExceptionInterruptedException
-
getConfigFileName
- Specified by:
getConfigFileNamein interfaceDetectorWithConfigurationFile
-
setConfigFileName
- Specified by:
setConfigFileNamein interfaceDetectorWithConfigurationFile
-
loadConfigurationFromFile
- Specified by:
loadConfigurationFromFilein interfaceXspress3- Throws:
Exception
-
isAt
Description copied from class:ScannableBaseTests if the scannable is at (or if appropriate, close to) the value positionToTest. If positionToTest is a string (as will be the case for valves or pneumatics for example), this is compared to the value obtained from getPosition(). An exception is thrown if this is not also a string.Otherwise if positionToTest is not a string the object is compared to the value from getPosition(), after having first pushed both values through objectToArray() from ScannableUtils.
This behaviour should be extended where possible, and has been in ScannableMotionBase
- Specified by:
isAtin interfaceScannable- Overrides:
isAtin classScannableBase- Parameters:
positionToTest- The position to compare the scannable's position to.- Returns:
- true if scannable is at positionToTest
- Throws:
DeviceException- See Also:
-
getController
- Specified by:
getControllerin interfaceXspress3
-
readoutFF
- Specified by:
readoutFFin interfaceXspress3- Throws:
DeviceException
-
getRegionsOfInterest
Description copied from interface:Xspress3Return ROIs for a channel (detector element).- Specified by:
getRegionsOfInterestin interfaceXspress3- Throws:
DeviceException
-
setRegionsOfInterest
Description copied from interface:Xspress3Set ROIs for all channels (i.e. same ROIs for all detector elements)- Specified by:
setRegionsOfInterestin interfaceXspress3- Throws:
DeviceException
-
getNumberOfElements
public int getNumberOfElements()- Specified by:
getNumberOfElementsin interfaceFluorescenceDetector- Returns:
- The number of detector elements (sometimes also called channels but this risks confusion with the channels which make up the MCA)
-
getMCASize
public int getMCASize()- Specified by:
getMCASizein interfaceFluorescenceDetector- Returns:
- The number of channels in the MCA (Multi-Channel Analyser)
-
getMaxNumberOfRois
public int getMaxNumberOfRois()- Specified by:
getMaxNumberOfRoisin interfaceFluorescenceDetector- Returns:
- The maximum number of ROIs per channel
-
applyConfigurationParameters
public void applyConfigurationParameters(FluorescenceDetectorParameters parameters) throws Exception Description copied from interface:FluorescenceDetectorConfigure the detector using the given parameters- Specified by:
applyConfigurationParametersin interfaceFluorescenceDetector- Parameters:
parameters-- Throws:
Exception
-
getConfigurationParameters
- Specified by:
getConfigurationParametersin interfaceFluorescenceDetector- Returns:
- The current detector configuration
-
isWriteHDF5Files
public boolean isWriteHDF5Files()- Specified by:
isWriteHDF5Filesin interfaceFluorescenceDetector- Returns:
- true if detector creates an HDF5 file during a scan. This is normally created by Epics via the HDF plugin of the area detector.
-
setWriteHDF5Files
public void setWriteHDF5Files(boolean writeHDF5Files) Description copied from interface:FluorescenceDetectorSet to true to configure the detector to write an HDF5 file during a scan.- Specified by:
setWriteHDF5Filesin interfaceFluorescenceDetector- Parameters:
writeHDF5Files-
-
getDeadtimeCorrectionFactors
- Specified by:
getDeadtimeCorrectionFactorsin interfaceFluorescenceDetector- Returns:
- An array of 'deadtime correction' factor values (one for each element of the detector)
- Throws:
DeviceException
-