Package gda.device.detector.xmap
Class TfgXmap
- All Implemented Interfaces:
CounterTimer,Detector,Device,Scannable,Configurable,Findable,gda.observable.IObservable,Serializable
- Direct Known Subclasses:
CallableTfgXmap
Represents a Tfg and XMap combination. Since the Tfg will generally also be part of a TfgScaler combination there is
a slave mode. In this mode methods which set things on the Tfg do nothing.
- See Also:
-
Field Summary
Fields inherited from class gda.device.detector.countertimer.TFGCounterTimer
isTFGv2Fields inherited from class gda.device.detector.countertimer.CounterTimerBase
slave, timerFields 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 TypeMethodDescriptionvoidCalled on every Scannable at every data point, for scans which are broken down into individual points (i.e.voidCalled 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.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.int[]Default which should be overridden by subclasses.String[]Override ScannableBase to work within scansintOverride DetectorBase to work within scansgetXmap()Get the Xspress system namedouble[]readChannel(int startFrame, int frameCount, int channel) For a time framing counter-timer read out a specified channel, beginning from the specified start frame number using the requested frame count.double[]readFrame(int startChannel, int channelCount, int frame) For a time framing counter-timer read out a specified frame, beginning from the specified start channel number using the requested channel count.double[]readout()Returns the latest data collected.voidsetCollectionModePV(String collectionModePV) voidsetMinimumReadoutDelay(int minimumReadoutDelay) voidsetXmap(XmapDetector xmap) voidsetXmapName(String xspressSystemName) Set the Xspress system namevoidstart()For a time framing counter-timer this initiates framing.Methods inherited from class gda.device.detector.countertimer.TFGCounterTimer
isTFGv2, setTFGv2Methods inherited from class gda.device.detector.countertimer.CounterTimerBase
addFrameSet, addFrameSet, clearFrameSets, getCurrentCycle, getCurrentFrame, getMaximumFrames, getStatus, getTimer, getTimerName, isSlave, loadFrameSets, restart, setCycles, setSlave, setTimer, setTimerName, stopMethods inherited from class gda.device.detector.DetectorBase
asynchronousMoveTo, checkPositionValid, endCollection, getCollectionTime, isBusy, prepareForCollection, setCollectionTime, toFormattedStringMethods inherited from class gda.device.scannable.ScannableBase
__call__, __call__, __doc__, __getitem__, __len__, __repr__, __str__, atCommandFailure, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atScanEnd, atScanLineEnd, atScanLineStart, externalToInternal, getExtraNames, getLevel, getOutputFormat, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, internalToExternal, isAt, moveTo, rawAsynchronousMoveTo, rawGetPosition, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, throwExceptionIfInvalidTarget, toString, validateScannable, valueUnavailableString, waitWhileBusy, 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
isConfigureAtStartup, isConfigured, reconfigureMethods inherited from interface gda.device.Detector
endCollection, getCollectionTime, getFileStructure, 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, atScanEnd, atScanLineEnd, atScanLineStart, checkPositionValid, getExtraNames, getLevel, getOutputFormat, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, isAt, isBusy, moveTo, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, toFormattedString
-
Constructor Details
-
TfgXmap
public TfgXmap()
-
-
Method Details
-
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 classCounterTimerBase- Throws:
FactoryException- if there is an error in configuration e.g. required variable not set or cannot connect to device
-
setXmapName
Set the Xspress system name- Parameters:
xspressSystemName- the Xspress system name
-
getXmapName
Get the Xspress system name- Returns:
- the Xspress system name.
-
getXmap
- Returns:
- Returns the xmap.
-
setXmap
- Parameters:
xmap- The xmap to set.
-
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.- Returns:
- the data collected
- 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:
-
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.- Throws:
DeviceException
-
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:
-
readChannel
Description copied from interface:CounterTimerFor a time framing counter-timer read out a specified channel, beginning from the specified start frame number using the requested frame count.- Parameters:
startFrame- starting frame number (1st=0)frameCount- number of frames to read the counter data out fromchannel- read this channel- Returns:
- array of requested readout counter-timer data
- Throws:
DeviceException
-
readFrame
Description copied from interface:CounterTimerFor a time framing counter-timer read out a specified frame, beginning from the specified start channel number using the requested channel count.- Parameters:
startChannel- starting channel number (1st=0)channelCount- number of channels to read the counter data out fromframe- read this frame- Returns:
- array of requested readout counter-timer data
- Throws:
DeviceException
-
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:
-
start
Description copied from interface:CounterTimerFor a time framing counter-timer this initiates framing.- Specified by:
startin interfaceCounterTimer- Overrides:
startin classCounterTimerBase- 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.- Returns:
- true if readout() returns filenames
- Throws:
DeviceException
-
getPosition
Override DetectorBase to work within scans- 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:
-
getInputNames
Override ScannableBase to work within scans- Specified by:
getInputNamesin interfaceScannable- Overrides:
getInputNamesin classScannableBase- Returns:
- array of the names of the elements of the object returned by getPosition
-
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
-
getMinimumReadoutDelay
public int getMinimumReadoutDelay() -
setMinimumReadoutDelay
public void setMinimumReadoutDelay(int minimumReadoutDelay) -
getCollectionModePV
-
setCollectionModePV
-