Package uk.ac.gda.analysis.mscan
Class ProcessingMalcolmDevice
java.lang.Object
org.eclipse.scanning.api.AbstractNameable
org.eclipse.scanning.api.device.AbstractRunnableDevice<IMalcolmModel>
org.eclipse.scanning.malcolm.core.AbstractMalcolmDevice
org.eclipse.scanning.malcolm.core.MalcolmDevice
uk.ac.gda.analysis.mscan.ProcessingMalcolmDevice
- All Implemented Interfaces:
INexusDevice<NXobject>,IActivatable,IPausableDevice<IMalcolmModel>,IResettableDevice,IRunnableDevice<IMalcolmModel>,IRunnableEventDevice<IMalcolmModel>,IDeviceRoleActor,IConfigurable<IMalcolmModel>,ILevel,IModelProvider<IMalcolmModel>,INameable,IScanAttributeContainer,IValidator<IMalcolmModel>,IMalcolmDevice
Extension of Malcolm device to allow live processing to be performed within GDA
This is achieved using
SwmrMalcolmProcessingReader responsible for reading
frames as they are available and passing the datasets into any defined processors-
Field Summary
Fields inherited from class org.eclipse.scanning.malcolm.core.MalcolmDevice
ATTRIBUTE_NAME_COMPLETED_STEPS, ATTRIBUTE_NAME_LAST_GOOD_STEP, FILE_EXTENSION_H5, POSITION_COMPLETE_INTERVAL, STANDARD_MALCOLM_ERROR_STRFields inherited from class org.eclipse.scanning.malcolm.core.AbstractMalcolmDevice
isMultiScan, outputDir, pointGenerator, scanModelFields inherited from class org.eclipse.scanning.api.device.AbstractRunnableDevice
connectorService, model, runnableDeviceService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidReturns the object providers required for writing correct NeXus files.voidsetHklProvider(HklAdapter hklProvider) voidsetProcessing(MalcolmProcessingManager processing) voidvoidstopSwmr()voidwriteHkl()Methods inherited from class org.eclipse.scanning.malcolm.core.MalcolmDevice
abort, closeFile, configure, disable, dispose, getAvailableAxes, getDatasets, getDetectorInfos, getDeviceHealth, getDeviceState, getLatestDeviceState, getModel, getSeekStrategy, getVersion, handleStateChange, handleStateChange, handleStepsCompleted, initialize, isDeviceBusy, isLocked, pause, reset, resume, run, seek, setResetAfterScan, setSeekStrategy, validateMethods inherited from class org.eclipse.scanning.malcolm.core.AbstractMalcolmDevice
addMalcolmListener, afterExecute, beforeExecute, calculateAxesToMove, close, configureScan, getBreakpoints, getConfiguredAxes, getConfiguredAxes, getConfiguredScan, getDeviceInformation, getMultiScanModel, getOutputDir, getPointGenerator, register, removeMalcolmListener, scanFinally, sendEvent, setOutputDir, setPointGenerator, setTemplateBean, startMethods inherited from class org.eclipse.scanning.api.device.AbstractRunnableDevice
addRunListener, fireRunPerformed, fireRunWillPerform, fireStateChanged, fireWritePerformed, fireWriteWillPerform, getConfigureTime, getConnectorService, getDeviceInformation, getLevel, getPublisher, getRole, getRunnableDeviceService, getScanAttribute, getScanAttributeNames, getScanId, getSupportedScanModes, isActivated, isAlive, removeRunListener, setActivated, setAlive, setBusy, setConfigureTime, setConnectorService, setDeviceInformation, setDeviceState, setLevel, setModel, setPublisher, setRole, setRunnableDeviceService, setScanAttribute, setScanId, setSupportedScanMode, setSupportedScanModes, setSupportedScanModes, toStringMethods inherited from class org.eclipse.scanning.api.AbstractNameable
equals, getName, hashCode, setNameMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.scanning.api.device.models.IDeviceRoleActor
getRole, getSupportedScanModes, setRoleMethods inherited from interface org.eclipse.scanning.api.IModelProvider
setModel, updateModelMethods inherited from interface org.eclipse.dawnsci.nexus.INexusDevice
getCustomNexusModification, getName, getNexusProviderMethods inherited from interface org.eclipse.scanning.api.device.IRunnableDevice
isAlive, latch, latch, run, setAlive, throwFirstRunExceptionMethods inherited from interface org.eclipse.scanning.api.device.IRunnableEventDevice
addRunListener, fireRunPerformed, fireRunWillPerform, fireWritePerformed, fireWriteWillPerform, removeRunListenerMethods inherited from interface org.eclipse.scanning.api.IValidator
setService
-
Constructor Details
-
ProcessingMalcolmDevice
public ProcessingMalcolmDevice()
-
-
Method Details
-
startSwmrReader
public void startSwmrReader() -
getNexusProviders
public List<NexusObjectProvider<NXobject>> getNexusProviders(NexusScanInfo info) throws NexusException Description copied from interface:INexusDeviceReturns the object providers required for writing correct NeXus files. Implement this method if your device needs to create multiple nexus objects. These can implementNexusObjectProviderThe default implementation of this method calls
INexusDevice.getNexusProvider(NexusScanInfo)and returns aListwhose sole element is theNexusObjectProviderreturned from that method. One of either this method orINexusDevice.getNexusProviders(NexusScanInfo)must be overridden to create and return the nexus object(s) for thisINexusDevice.- Specified by:
getNexusProvidersin interfaceINexusDevice<NXobject>- Overrides:
getNexusProvidersin classAbstractMalcolmDevice- Parameters:
info- information about the scan which can be useful when creating datasets e.g.info.getRank()- Returns:
- The
NXobjectcreated using thenodeFactoryto represent this device - Throws:
NexusException- if the nexus object could not be created for any reason
-
writeHkl
public void writeHkl() -
stopSwmr
public void stopSwmr() -
closeProc
public void closeProc() -
getHklProvider
-
setHklProvider
-
getProcessing
-
setProcessing
-
getProcessors
-