Package gda.device.detector.countertimer
Class TfgEncoderCounter
java.lang.Object
gda.factory.ConfigurableBase
gda.factory.FindableConfigurableBase
gda.device.DeviceBase
gda.device.scannable.ScannableBase
gda.device.detector.DetectorBase
gda.device.detector.countertimer.CounterTimerBase
gda.device.detector.countertimer.TFGCounterTimer
gda.device.detector.countertimer.TfgEncoderCounter
- All Implemented Interfaces:
CounterTimer,Detector,Device,Scannable,Configurable,Findable,gda.observable.IObservable,Serializable
Represents a Tfg and HY8513 Incremental Encoder Counter Industry Pack 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 TypeMethodDescriptionvoidTells 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.voidcountAsync(double time) booleanReturns a value which indicates whether the detector creates its own files.getAttribute(String attributeName) Get the value of the specified attributeintReturns the total number of available counter-timer readout channels that will be returned by calls to readChans() For a time-framing device it is the number of channels per frame.double[]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[]Obtain an array of available readout channels.double[]readFrame(int startChannel, int channelCount, int frame) For a time framing counter-timer, read out a specified channel beginning from the specified start frame number using the requested frame count.double[]readout()Returns the latest data collected.voidsetAttribute(String attributeName, Object value) Set any attribute the implementing classes may providevoidsetEncoderCounterName(String encoderCounterName) voidstart()For a time framing counter-timer this initiates framing.voidstop()Stop the current move/operation.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, setTimerNameMethods inherited from class gda.device.detector.DetectorBase
asynchronousMoveTo, checkPositionValid, endCollection, getCollectionTime, getDataDimensions, getPosition, isBusy, prepareForCollection, setCollectionTime, toFormattedStringMethods inherited from class gda.device.scannable.ScannableBase
__call__, __call__, __doc__, __getitem__, __len__, __repr__, __str__, atCommandFailure, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atPointStart, atScanEnd, atScanLineEnd, atScanLineStart, atScanStart, externalToInternal, getExtraNames, getInputNames, 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, getName, getProtectionLevel, isBeingObserved, isConfigureAtStartup, notifyIObservers, 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, getDataDimensions, getFileStructure, prepareForCollection, setCollectionTime, waitWhileBusyMethods inherited from interface gda.device.Device
close, getProtectionLevel, 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, toFormattedString
-
Constructor Details
-
TfgEncoderCounter
public TfgEncoderCounter()
-
-
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
-
setEncoderCounterName
- Parameters:
encoderCounterName-
-
getEncoderCounterName
- Returns:
- encoderCounterName
-
getTotalChans
Returns the total number of available counter-timer readout channels that will be returned by calls to readChans() For a time-framing device it is the number of channels per frame. All counter-timers must fully implement this.- Returns:
- total number of readout channels
- Throws:
DeviceException
-
countAsync
- Throws:
DeviceException
-
start
Description copied from interface:CounterTimerFor a time framing counter-timer this initiates framing.- Specified by:
startin interfaceCounterTimer- Overrides:
startin classCounterTimerBase- Throws:
DeviceException
-
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 classCounterTimerBase- Throws:
DeviceException- See Also:
-
readChans
Obtain an array of available readout channels. This should be available at any time. If the hardware does not allow it during active counter-timing periods, it should return zero values. High level counter-timers may return values in user units. All counter-timers must fully implement this.- Returns:
- array of all channel readout values
- Throws:
DeviceException
-
readChannel
For 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
For a time framing counter-timer, read out a specified channel beginning from the specified start frame number using the requested frame 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
-
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
-
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
-
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- See Also:
-
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
-
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
-