Package gda.scan
Class ConstantVelocityRasterScan
java.lang.Object
gda.scan.ScanBase
gda.scan.ConcurrentScanChild
gda.scan.ConcurrentScan
gda.scan.AbstractContinuousScanLine
gda.scan.ConstantVelocityScanLine
gda.scan.ConstantVelocityRasterScan
- All Implemented Interfaces:
IConcurrentScanChild,NestableScan,Scan,ScanChild,Serializable
NOTE: This code assumes that the controller will advance trigger by half a point.
It is up to the controller to determine whether a trailing trigger is given at the end of each line.
It would be quite tricky to handle the case where this is required, e.g. for a counter timer. Either
the counter timer would need to be set to count for a fixed time (like we assume the detectors do), or the
controller would need to send out an inhibit line.
IMPORTANT: Detectors will not recieve synchronised calls to atLineStart()! An example consequence is that plugins must be setup to handle all points made during the scan, not just those from one line.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class gda.scan.ConcurrentScanChild
ConcurrentScanChild.PointPositionInLineNested 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.ConstantVelocityScanLine
start, step, stopFields inherited from class gda.scan.AbstractContinuousScanLine
detectors, detectorsIntegrateBetweenTriggers, scannablesToMoveFields inherited from class gda.scan.ConcurrentScan
numberSteps, RETURNTOSTARTINGPOSITIONFields inherited from class gda.scan.ConcurrentScanChild
allChildScans, allScanObjects, detectorReadoutTask, scannableLevelsFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidconfigureControllerPositions(boolean detectorsIntegrateBetweenTriggers) protected ConstantVelocityRasterMoveControllerprotected voidparseArgsAgain(Object[] args) voidsetStatus(Scan.ScanStatus status) To allow nests of scans to share a common status with each other.Methods inherited from class gda.scan.ConstantVelocityScanLine
callAtCommandFailureHooks, checkRemainingArgs, configureControllerTriggerTimes, extractScannablesToScanMethods inherited from class gda.scan.AbstractContinuousScanLine
doCollection, extractCommonCollectionTimeFromDetectors, isReadoutConcurrent, prepareDevicesForCollection, stopDetectorsMethods inherited from class gda.scan.ConcurrentScan
callAtPointStartHooks, createScanDataPoint, endScan, getDimension, getNumberPoints, getUserListedScannables, getUserListedScannablesToScan, isReturnScannablesToOrginalPositions, isSendUpdateEvents, reportDevicesByLevel, setReturnScannablesToOrginalPositions, setSendUpdateEventsMethods inherited from class gda.scan.ConcurrentScanChild
acquirePoint, cancelReadoutAndPublishCompletion, checkAllMovesComplete, generateDevicesToMoveByLevel, getAllChildScans, getAllDetectors, getAllScannables, getAllScanObjects, getChild, getCommand, getPointPositionInLine, getScannableLevels, isMustBeFinal, isScannableActuallyToBeMoved, isScannableToBeMoved, readoutDetectorsAndPublish, reorderAllScanObjects, setAllChildScans, setAllDetectors, setAllScannables, setAllScanObjects, setChild, setCommand, setMustBeFinal, setPointPositionInLine, setScannableLevels, setTotalNumberOfPoints, setUp, waitForDetectorReadoutAndPublishCompletionMethods inherited from class gda.scan.ScanBase
callDetectorsEndCollection, callScannablesAtScanEnd, callScannablesAtScanLineEnd, callScannablesAtScanLineStart, callScannablesAtScanStart, checkStartStopStep, checkThreadInterrupted, collectData, createScanDataPointPipeline, createScanDataPointPipeline, generateRandomName, getDataWriter, getDetectors, getDimensions, getName, getNumberOfChildScans, getParent, getPositionCallableThreadPoolSize, getScanDataPointPipeline, getScanDataPointQueueLength, getScanInformation, getScannables, getScanNumber, getScanPlotSettings, getStatus, getStepId, getStepIds, getTotalNumberOfPoints, isChild, isFinishEarlyRequested, isLineScanNeedsDoing, notifyServer, notifyServer, numberOfScannablesThatCanProvidePositionCallables, pause, prepareForCollection, prepareScanForCollection, prepareScanNumber, prepareStaticVariables, readDevicesAndPublishScanDataPoint, reorderScannables, representThrowable, requestFinishEarly, resume, run, runScan, scanRunning, sendScanEvent, setChild, setDataWriter, setDetectors, setIsChild, setLineScanNeedsDoing, setNumberOfChildScans, setParent, setPositionCallableThreadPoolSize, setScanDataPointPipeline, setScanDataPointQueueLength, setScanIdentifierInScanDataPoint, setScannables, setScanNumber, setScanPlotSettings, setStatus, setStepId, shutdownScandataPipeline, signalScanComplete, signalScanStarted, sortArguments, waitIfPaused, wasScanExplicitlyHalted, wrappedExceptionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface gda.scan.IConcurrentScanChild
getTotalNumberOfPointsMethods inherited from interface gda.scan.Scan
getDataWriter, getDetectors, getName, getScanDataPointPipeline, getScanInformation, getScannables, getScanNumber, getScanPlotSettings, getStatus, getStepId, isChild, isFinishEarlyRequested, pause, prepareForCollection, requestFinishEarly, resume, run, runScan, setChild, setDataWriter, setDetectors, setIsChild, setScanDataPointPipeline, setScannables, setScanPlotSettings, setStepId
-
Constructor Details
-
ConstantVelocityRasterScan
- Throws:
IllegalArgumentException
-
-
Method Details
-
parseArgsAgain
- Overrides:
parseArgsAgainin classConstantVelocityScanLine
-
getController
- Overrides:
getControllerin classConstantVelocityScanLine
-
configureControllerPositions
protected void configureControllerPositions(boolean detectorsIntegrateBetweenTriggers) throws DeviceException, InterruptedException - Overrides:
configureControllerPositionsin classConstantVelocityScanLine- Throws:
DeviceExceptionInterruptedException
-
setStatus
To allow nests of scans to share a common status with each other.- Parameters:
status-
-