Package gda.device.detector.countertimer
Class DummyCounterTimer
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.DummyCounterTimer
- All Implemented Interfaces:
CounterTimer,Detector,Device,Scannable,Configurable,Findable,gda.observable.IObservable,gda.observable.IObserver,Serializable,Runnable
public class DummyCounterTimer
extends TFGCounterTimer
implements Runnable, gda.observable.IObserver
Can be used as a substitute for a CounterTimer for testing purposes. Not all the methods work though it can be used
in scans and will produce either totally random data or a set of Gaussians depending on the setting of the
useGaussian flag. The widths and heights of the Gaussians and a level of random noise applied to them are all
controlled by xml parameters.
- 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 TypeMethodDescriptionvoidaddFrameSet(int frameCount, double requestedLiveTime, double requestedDeadTime) For a time framing counter-timer a single frameSet object is created for a specified live and dead time.voidaddFrameSet(int frameCount, double requestedLiveTime, double requestedDeadTime, int deadPort, int livePort, int deadPause, int livePause) For a time framing counter-timer a single frameSet object is created for a specified live and dead time.voidvoidFor a time framing counter-timer all current frameSets are cleared.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.voidcountAsync(double time) booleanReturns a value which indicates whether the detector creates its own files.intdoubledoubledoubleintReturns the current collecting state of the device.intbooleanbooleanbooleanvoidprepareForCollection(Scan scan) 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[]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.readout()Returns the latest data collected.voidrun()voidsetCollectionTime(double collectionTime) Overrides the DetectorBase method in order to set up the counters for the dummy data.voidsetDataDecimalPlaces(int dataDecimalPlaces) voidsetGaussianHeight(double gaussianHeight) voidsetGaussianWidth(double gaussianWidth) voidsetNoiseLevel(double noiseLevel) voidsetReadoutFileName(boolean readoutFileName) voidsetTimeChannelRequired(boolean timeChannelRequired) voidsetTotalChans(int totalChans) voidsetUseGaussian(boolean useGaussian) voidstart()For a time framing counter-timer this initiates framing.voidMethods inherited from class gda.device.detector.countertimer.TFGCounterTimer
isTFGv2, setTFGv2Methods inherited from class gda.device.detector.countertimer.CounterTimerBase
getCurrentCycle, getCurrentFrame, getMaximumFrames, getTimer, getTimerName, isSlave, loadFrameSets, restart, setCycles, setSlave, setTimer, setTimerName, stopMethods inherited from class gda.device.detector.DetectorBase
asynchronousMoveTo, checkPositionValid, endCollection, getCollectionTime, getDataDimensions, getPosition, isBusy, prepareForCollection, 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, 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, getDataDimensions, getFileStructure, prepareForCollection, 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, toFormattedString
-
Constructor Details
-
DummyCounterTimer
public DummyCounterTimer()Constructor.
-
-
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
-
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
-
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- Returns:
- the data collected
- Throws:
DeviceException
-
countAsync
public void countAsync(double time) -
getStatus
Description copied from interface:DetectorReturns the current collecting state of the device.- Specified by:
getStatusin interfaceDetector- Overrides:
getStatusin classCounterTimerBase- 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- See Also:
-
isTimeChannelRequired
public boolean isTimeChannelRequired()- Returns:
- boolean timeChannelRequired
-
setTimeChannelRequired
public void setTimeChannelRequired(boolean timeChannelRequired) - Parameters:
timeChannelRequired-
-
start
Description copied from interface:CounterTimerFor a time framing counter-timer this initiates framing.- Specified by:
startin interfaceCounterTimer- Overrides:
startin classCounterTimerBase- Throws:
DeviceException
-
addFrameSet
public void addFrameSet(int frameCount, double requestedLiveTime, double requestedDeadTime) throws DeviceException Description copied from interface:CounterTimerFor a time framing counter-timer a single frameSet object is created for a specified live and dead time. A count for identical frames is specified by the frameCount.- Specified by:
addFrameSetin interfaceCounterTimer- Overrides:
addFrameSetin classCounterTimerBase- Parameters:
frameCount- number of frames required of this typerequestedLiveTime- frame live time in millisecondsrequestedDeadTime- frame dead time in milliseconds- Throws:
DeviceException
-
addFrameSet
public void addFrameSet(int frameCount, double requestedLiveTime, double requestedDeadTime, int deadPort, int livePort, int deadPause, int livePause) throws DeviceException Description copied from interface:CounterTimerFor a time framing counter-timer a single frameSet object is created for a specified live and dead time. A count for identical frames is specified by the frameCount.- Specified by:
addFrameSetin interfaceCounterTimer- Overrides:
addFrameSetin classCounterTimerBase- Parameters:
frameCount- requested number of frames required of this typerequestedLiveTime- requested frame live time in millisecondsrequestedDeadTime- requested frame dead time in millisecondsdeadPort- wait period output level 0 or 1livePort- run period output level 0 or 1deadPause- pause before wait period 0 or 1livePause- pause before run period 0 or 1- Throws:
DeviceException
-
clearFrameSets
Description copied from interface:CounterTimerFor a time framing counter-timer all current frameSets are cleared.- Specified by:
clearFrameSetsin interfaceCounterTimer- Overrides:
clearFrameSetsin classCounterTimerBase- Throws:
DeviceException
-
readChans
public double[] readChans() -
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.- Specified by:
readChannelin interfaceCounterTimer- 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.- Specified by:
readFramein interfaceCounterTimer- 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
-
run
public void run() -
setCollectionTime
Overrides the DetectorBase method in order to set up the counters for the dummy data. This is the only place to do this but means that the dummy data mechanisms really only work in scans.- Specified by:
setCollectionTimein interfaceDetector- Overrides:
setCollectionTimein classDetectorBase- Parameters:
collectionTime- the collectionTime in mS- Throws:
DeviceException
-
getNoiseLevel
public double getNoiseLevel()- Returns:
- Returns the noiseLevel.
-
setNoiseLevel
public void setNoiseLevel(double noiseLevel) - Parameters:
noiseLevel- The noiseLevel to set.
-
getGaussianWidth
public double getGaussianWidth()- Returns:
- Returns the gaussianWidth.
-
setGaussianWidth
public void setGaussianWidth(double gaussianWidth) - Parameters:
gaussianWidth- The gaussianWidth to set.
-
getGaussianHeight
public double getGaussianHeight()- Returns:
- Returns the gaussianHeight.
-
setGaussianHeight
public void setGaussianHeight(double gaussianHeight) - Parameters:
gaussianHeight- The gaussianHeight to set.
-
isUseGaussian
public boolean isUseGaussian()- Returns:
- Returns the useGaussian.
-
setUseGaussian
public void setUseGaussian(boolean useGaussian) - Parameters:
useGaussian- The useGaussian to set.
-
update
- Specified by:
updatein interfacegda.observable.IObserver
-
getDataDecimalPlaces
public int getDataDecimalPlaces()- Returns:
- number of decimal places
-
setDataDecimalPlaces
public void setDataDecimalPlaces(int dataDecimalPlaces) - Parameters:
dataDecimalPlaces-
-
isReadoutFileName
public boolean isReadoutFileName()- Returns:
- readout filename
-
setReadoutFileName
public void setReadoutFileName(boolean readoutFileName) - Parameters:
readoutFileName-
-
prepareForCollection
-
clearAndStart
public void clearAndStart() -
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
-
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
-
getTotalChans
public int getTotalChans() -
setTotalChans
public void setTotalChans(int totalChans)
-