Package uk.ac.gda.devices.mythen.epics
Interface IMythenDetector
- All Superinterfaces:
Configurable,Detector,Device,Findable,gda.observable.IObservable,Mythen,Scannable
- All Known Implementing Classes:
MythenDetector
-
Field Summary
Fields inherited from interface gda.device.Scannable
ATTR_NEXUS_CATEGORY, ATTR_NX_CLASS, DEFAULT_INPUT_NAME, VALUE_UNAVAILABLE -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidCalled for every Scannable at the end of a group of nested scans (or a single scan if that is the case).voidCalled for every Scannable at the start of a group of nested scans (or a single scan if that is the case)voidautoMode()buildRawFilename(int number) rebuild Raw data file name added for Jython use as Jython does not support enum Java type yet.voidcmulti(int numFrames, double delayTime, double exposureTime) MYTHEN 2 API no longer supported.voidcmulti(int numCycles, int numFrames, double delayTime, double exposureTime) Captures multiple frames using one trigger per frame.voidcollect data from detector using EPICS client.voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidfast()voidgated(int numGates) gated single frame collection.voidgated(int numFrames, int numGates) gated multiple frames collection - one file per frame, numGates per framesvoidgated(int numFrames, int numGates, long scanNumber) gated multiple frames collection - one frame per file, numGates per frame, only one cycle - Mythen detector controls the frame number increment starting from 0.voidgated(int numFrames, int numGates, long scanNumber, int collectionNumber) gated multiple or single frame collection - one frame per file, numGates per frame - where GDA controls the collection number increment.voidgated multiple frames collection - one frame per file, numGates per frame, single cycle only Mythen detector controls the frame number increment starting from 0.voiddoubledoubleintdoubledoubleintintintintintdoublevoidhighgain()booleanbooleanbooleanbooleanbooleanbooleanvoidvoidmulti(int numFrames, double delayTime, double exposureTime) Captures multiple frames using a software trigger.voidmulti(int numFrames, double delayTime, double exposureTime, double delayAfterFrames) Captures multiple frames using a software trigger.readout()Returns the latest data collected.voidvoidvoidsetAcquirePeriod(double acquireperiod) voidsetBeamEnergy(double energy) voidsetBitDepth(int bitDepth) voidsetCollectionTime(double collectionTime) Sets the collection time, in seconds, to be used during the next call of collectData.voidsetConfigFile(String value) voidsetDelayTime(double value) voidsetExposureTime(double exposureTime) voidsetFileName(String value) voidsetFilePath(String value) voidsetFileTemplate(String value) voidsetFlatFieldFile(String value) voidsetFlatFieldPath(String value) voidsetMythenClient(MythenEpicsClient mythenClient) voidsetNextFileNumber(int value) voidsetNumCycles(int value) voidsetNumFrames(int value) voidsetNumGates(int value) voidsetProcessingTasks(List<DataProcessingTask> processingTasks) voidsetThreshold(double energy) voidsetTriggerMode(int value) voidsmulti(int numFrames, double delayTime, double exposureTime) Captures multiple frames using a single trigger to start acquisition of all frames.voidstandard()voidvoidstop()Stop the current move/operation.voidvoidMethods inherited from interface gda.factory.Configurable
configure, isConfigureAtStartup, isConfigured, reconfigureMethods inherited from interface gda.device.Detector
createsOwnFiles, endCollection, getCollectionTime, getDataDimensions, getDescription, getDetectorID, getDetectorType, getFileStructure, getStatus, 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.detector.Mythen
readoutProcessedDataMethods inherited from interface gda.device.Scannable
asynchronousMoveTo, atCommandFailure, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atPointStart, atScanLineEnd, atScanLineStart, checkPositionValid, getExtraNames, getInputNames, getLevel, getOutputFormat, getPosition, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, isAt, isBusy, moveTo, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, toFormattedString
-
Method Details
-
afterPropertiesSet
- Throws:
Exception
-
atScanStart
Description copied from interface:ScannableCalled for every Scannable at the start of a group of nested scans (or a single scan if that is the case)- Specified by:
atScanStartin interfaceScannable- Throws:
DeviceException
-
setCollectionTime
Description copied from interface:DetectorSets the collection time, in seconds, to be used during the next call of collectData.- Specified by:
setCollectionTimein interfaceDetector- Parameters:
collectionTime- the collection time in seconds- Throws:
DeviceException
-
buildFilename
-
buildRawFilename
rebuild Raw data file name added for Jython use as Jython does not support enum Java type yet.- Parameters:
number-- Returns:
- filename
-
collectData
collect data from detector using EPICS client. This method is non-blocking.- Specified by:
collectDatain interfaceDetector- Throws:
DeviceException
-
stop
Description copied from interface:ScannableStop the current move/operation.- Specified by:
stopin interfaceScannable- 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
-
atScanEnd
Description copied from interface:ScannableCalled for every Scannable at the end of a group of nested scans (or a single scan if that is the case).Note that this is only called if the Scan finishes normally, or has been requested to finish early. This will not be called if the scan finishes due to an exception of any kind. See
Scannable.atCommandFailure()- Specified by:
atScanEndin interfaceScannable- Throws:
DeviceException
-
multi
void multi(int numFrames, double delayTime, double exposureTime, double delayAfterFrames) throws DeviceException Captures multiple frames using a software trigger. Deprecated, please usemulti(int, double, double).- Parameters:
numFrames-delayTime-exposureTime-delayAfterFrames- - redundant input kept only for backward compatibility.- Throws:
DeviceException
-
multi
Captures multiple frames using a software trigger.- Parameters:
numFrames-delayTime-exposureTime-- Throws:
DeviceException
-
smulti
Captures multiple frames using a single trigger to start acquisition of all frames.- Parameters:
numFrames-delayTime-exposureTime-- Throws:
DeviceException
-
cmulti
void cmulti(int numCycles, int numFrames, double delayTime, double exposureTime) throws DeviceException Captures multiple frames using one trigger per frame.- Parameters:
numCycles-numFrames-delayTime-exposureTime-- Throws:
DeviceException
-
cmulti
MYTHEN 2 API no longer supported. Please use alternativecmulti(int, int, double, double).- Parameters:
numFrames-delayTime-exposureTime-- Throws:
DeviceException
-
gated
gated multiple frames collection - one file per frame, numGates per frames- Parameters:
numFrames- - the number of frames to collectnumGates- - the number of gates per frame to expose- Throws:
DeviceException
-
gated
gated single frame collection.- Parameters:
numGates- the number of gates to expose.- Throws:
DeviceException
-
gated
void gated(int numFrames, int numGates, long scanNumber, File dataDirectory, int collectionNumber) throws DeviceException gated multiple frames collection - one frame per file, numGates per frame, single cycle only Mythen detector controls the frame number increment starting from 0. exposure time is controlled by gate signal length Delay time = 0, this acquisition waits for data correction and angular conversion to complete.- Parameters:
numFrames- Number of frames to collects, i.e. number of data files to createnumGates- Number of gates for each framescanNumber- this acquisition numberdataDirectory- the data directory to save data tocollectionNumber- the index number for this acquisition - if invalid input: '<'0 Mythen detector controls the frame number increment starting from 1.- Throws:
DeviceException
-
gated
gated multiple frames collection - one frame per file, numGates per frame, only one cycle - Mythen detector controls the frame number increment starting from 0. exposure time is controlled by gate signal length Delay time = 0, does not wait for data correction and angular conversion, returns immediately after RAW data are collected.- Parameters:
numFrames- Number of frames to collects, i.e. number of data files to createnumGates- Number of gates for each framescanNumber- this acquisition number- Throws:
DeviceException
-
gated
void gated(int numFrames, int numGates, long scanNumber, int collectionNumber) throws DeviceException gated multiple or single frame collection - one frame per file, numGates per frame - where GDA controls the collection number increment. This acquisition does not wait for data correction and angular conversion to complete before return.- Parameters:
numFrames-numGates-scanNumber-collectionNumber-- Throws:
DeviceException
-
getMythenClient
MythenEpicsClient getMythenClient() -
setMythenClient
-
autoMode
- Throws:
Exception
-
triggerMode
- Throws:
Exception
-
gatingMode
- Throws:
Exception
-
ro_TriggerMode
- Throws:
Exception
-
triggerredGatingMode
- Throws:
Exception
-
setTriggerMode
- Throws:
Exception
-
setThreshold
- Throws:
Exception
-
getThreshold
- Throws:
Exception
-
setBeamEnergy
- Throws:
Exception
-
getBeamEnergy
- Throws:
Exception
-
standard
- Throws:
Exception
-
fast
- Throws:
Exception
-
highgain
- Throws:
Exception
-
setBitDepth
- Throws:
Exception
-
getBitDepth
- Throws:
Exception
-
setNumCycles
- Throws:
Exception
-
getNumCycles
- Throws:
Exception
-
setNumFrames
- Throws:
Exception
-
getNumFrames
- Throws:
Exception
-
setNumGates
- Throws:
Exception
-
getNumGates
- Throws:
Exception
-
setDelayTime
- Throws:
Exception
-
getDelayTime
- Throws:
Exception
-
setFilePath
- Throws:
IOException
-
getFilePath
- Throws:
Exception
-
setFileName
- Throws:
IOException
-
getFileName
- Throws:
Exception
-
setNextFileNumber
- Throws:
IOException
-
getNextFileNumber
- Throws:
Exception
-
enableAutoIncrement
- Throws:
IOException
-
disableAutoIncrement
- Throws:
IOException
-
isAutoIncrement
- Throws:
IOException
-
enableAutoSave
- Throws:
IOException
-
disableAutoSave
- Throws:
IOException
-
isAutoSave
- Throws:
IOException
-
setFileTemplate
- Throws:
IOException
-
getFileTemplate
- Throws:
Exception
-
getFullFileName
- Throws:
Exception
-
setFlatFieldPath
- Throws:
IOException
-
getFlatFieldPath
- Throws:
Exception
-
setFlatFieldFile
- Throws:
IOException
-
getFlatFieldFile
- Throws:
Exception
-
enableFlatFieldCorrection
- Throws:
IOException
-
disableFlatFieldCorrection
- Throws:
IOException
-
isFlatFieldCorrected
- Throws:
IOException
-
enableCountRateCorrection
- Throws:
IOException
-
disableCountRateCorrection
- Throws:
IOException
-
isCountRateCorrected
- Throws:
IOException
-
enableBadChannelCorrection
- Throws:
IOException
-
disableBadChannelCorrection
- Throws:
IOException
-
isBadChannelCorrected
- Throws:
IOException
-
enableAngularConversion
- Throws:
IOException
-
disableAngularConversion
- Throws:
IOException
-
isAngularConversionEnabled
- Throws:
IOException
-
setConfigFile
- Throws:
IOException
-
loadConfigFile
- Throws:
IOException
-
saveConfigFile
- Throws:
IOException
-
setExposureTime
- Throws:
Exception
-
getExposureTime
- Throws:
Exception
-
setAcquirePeriod
- Throws:
Exception
-
getAcquirePeriod
- Throws:
Exception
-
startWait
- Throws:
DeviceException
-
getProcessedDataFilesForThisScan
-
getNumberOfModules
int getNumberOfModules() -
getProcessingTasks
List<DataProcessingTask> getProcessingTasks() -
setProcessingTasks
-