Package gda.scan
Class PseudoDeviceTimeScan
java.lang.Object
gda.scan.ScanBase
gda.scan.PseudoDeviceTimeScan
- All Implemented Interfaces:
NestableScan,Scan,ScanChild,Serializable
A scan which operates over one or more pseudo devices and reads out their current position at fixed time intervals.
It makes no attempt to move them.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class gda.scan.ScanBase
ScanBase.ParentScanComponentNested classes/interfaces inherited from interface gda.scan.Scan
Scan.ScanStatus -
Field Summary
Fields inherited from class gda.scan.ScanBase
allDetectors, allScannables, callCollectDataOnDetectors, child, command, currentPointCount, GDA_SCANBASE_FIRST_SCAN_NUMBER_FOR_TEST, GDA_SCANBASE_PRINT_TIMESTAMP_TO_TERMINAL, instrument, isChild, name, numberOfChildScans, parent, parentComponent, permissionLevel, scanDataPointPipeline, stepId, totalNumberOfPoints -
Constructor Summary
ConstructorsConstructorDescriptionPseudoDeviceTimeScan(Scannable[] pseudoDevices, double collectInterval, int numberPoints) -
Method Summary
Modifier and TypeMethodDescriptionvoidThe method in which the work of the scan is performed.protected voidwaitUntil(long targetTime) Given a Java time in seconds, waits until that point and then returns.Methods inherited from class gda.scan.ScanBase
callAtCommandFailureHooks, callDetectorsEndCollection, callScannablesAtScanEnd, callScannablesAtScanLineEnd, callScannablesAtScanLineStart, callScannablesAtScanStart, cancelReadoutAndPublishCompletion, checkStartStopStep, checkThreadInterrupted, collectData, createScanDataPoint, createScanDataPointPipeline, createScanDataPointPipeline, endScan, generateRandomName, getChild, getDataWriter, getDetectors, getDimension, getDimensions, getName, getNumberOfChildScans, getParent, getPositionCallableThreadPoolSize, getScanDataPointPipeline, getScanDataPointQueueLength, getScanInformation, getScannables, getScanNumber, getScanPlotSettings, getStatus, getStepId, getStepIds, getTotalNumberOfPoints, isChild, isFinishEarlyRequested, isLineScanNeedsDoing, notifyServer, notifyServer, numberOfScannablesThatCanProvidePositionCallables, pause, prepareDevicesForCollection, prepareForCollection, prepareScanForCollection, prepareScanNumber, prepareStaticVariables, readDevicesAndPublishScanDataPoint, readoutDetectorsAndPublish, reorderScannables, representThrowable, requestFinishEarly, resume, run, runScan, scanRunning, sendScanEvent, setChild, setDataWriter, setDetectors, setIsChild, setLineScanNeedsDoing, setNumberOfChildScans, setParent, setPositionCallableThreadPoolSize, setScanDataPointPipeline, setScanDataPointQueueLength, setScanIdentifierInScanDataPoint, setScannables, setScanNumber, setScanPlotSettings, setStatus, setStepId, setUp, shutdownScandataPipeline, signalScanComplete, signalScanStarted, sortArguments, waitForDetectorReadoutAndPublishCompletion, waitIfPaused, wasScanExplicitlyHalted, wrappedException
-
Constructor Details
-
PseudoDeviceTimeScan
public PseudoDeviceTimeScan(Scannable[] pseudoDevices, double collectInterval, int numberPoints) throws Exception - Parameters:
pseudoDevices- - array of PseudoDevices to readout in the scancollectInterval- - the time in seconds between each pointnumberPoints- - the number of points to collect for - if this is set to 0 then the scan will not stop until the user tells it to.- Throws:
Exception
-
-
Method Details
-
doCollection
Description copied from interface:ScanThe method in which the work of the scan is performed. This method assumes that the data handler has already been created and the baton claimed.- Specified by:
doCollectionin interfaceScan- Specified by:
doCollectionin classScanBase- Throws:
Exception
-
waitUntil
Given a Java time in seconds, waits until that point and then returns. If that time has passed, then returns immediately;- Parameters:
targetTime- time in seconds- Throws:
InterruptedException
-