Package gda.scan
Class MultiRegionScan
java.lang.Object
gda.scan.ScanBase
gda.scan.MultiRegionScan
- All Implemented Interfaces:
NestableScan,Scan,ScanChild,Serializable
A scan which holds a collection of scans. It runs them all, making sure that they use the same datahandler.
The scans must scan over the same scannable objects to keep the format of data output the same.
The multiscan must be created before any of the other scans. The other scans should be instantiated and the added using the addScan method. The order is important the make sure the scans do not create their own datahandler objects.
- 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd scan to scans that will be run.voidAdd scan to scans that will be run.voidCalls the doCollection method of all the scans in the array of scans in turn.Return the first scan to be operated on.getScans()Access to all scans in the list.doubleIf each scan has been added with addScan(ScanBase,int) then the time will be recorded and can be used for estimating how long the scan will take.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
-
Method Details
-
addScan
Add scan to scans that will be run.- Parameters:
toAdd-
-
addScan
Add scan to scans that will be run.- Parameters:
toAdd-stepTime-
-
getTotalTime
public double getTotalTime()If each scan has been added with addScan(ScanBase,int) then the time will be recorded and can be used for estimating how long the scan will take.- Returns:
- time
-
getFirstScan
Return the first scan to be operated on.- Returns:
- Scan
-
doCollection
Calls the doCollection method of all the scans in the array of scans in turn.- Specified by:
doCollectionin interfaceScan- Specified by:
doCollectionin classScanBase- Throws:
Exception
-
getScans
Access to all scans in the list.- Returns:
- List
-