Interface IMythenDetector

All Superinterfaces:
Configurable, Detector, Device, Findable, gda.observable.IObservable, Mythen, Scannable
All Known Implementing Classes:
MythenDetector

public interface IMythenDetector extends Mythen
  • Method Details

    • afterPropertiesSet

      void afterPropertiesSet() throws Exception
      Throws:
      Exception
    • atScanStart

      void atScanStart() throws DeviceException
      Description copied from interface: Scannable
      Called for every Scannable at the start of a group of nested scans (or a single scan if that is the case)
      Specified by:
      atScanStart in interface Scannable
      Throws:
      DeviceException
    • setCollectionTime

      void setCollectionTime(double collectionTime) throws DeviceException
      Description copied from interface: Detector
      Sets the collection time, in seconds, to be used during the next call of collectData.
      Specified by:
      setCollectionTime in interface Detector
      Parameters:
      collectionTime - the collection time in seconds
      Throws:
      DeviceException
    • buildFilename

      String buildFilename(String s, MythenDataFileUtils.FileType type)
    • buildRawFilename

      String buildRawFilename(int number)
      rebuild Raw data file name added for Jython use as Jython does not support enum Java type yet.
      Parameters:
      number -
      Returns:
      filename
    • collectData

      void collectData() throws DeviceException
      collect data from detector using EPICS client. This method is non-blocking.
      Specified by:
      collectData in interface Detector
      Throws:
      DeviceException
    • stop

      void stop() throws DeviceException
      Description copied from interface: Scannable
      Stop the current move/operation.
      Specified by:
      stop in interface Scannable
      Throws:
      DeviceException
    • readout

      Object readout() throws DeviceException
      Description copied from interface: Detector
      Returns 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_CONCURRENTLY is true then motors may be moved while the detector readouts. The value returned must not be effected by any concurrent motor or shutter movements. See Detector.waitWhileBusy() and ConcurrentScan. Readout must block until the detector is ready to respond quickly to Detector.collectData() again.

      Specified by:
      readout in interface Detector
      Returns:
      the data collected
      Throws:
      DeviceException
    • atScanEnd

      void atScanEnd() throws DeviceException
      Description copied from interface: Scannable
      Called 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:
      atScanEnd in interface Scannable
      Throws:
      DeviceException
    • multi

      void multi(int numFrames, double delayTime, double exposureTime, double delayAfterFrames) throws DeviceException
      Captures multiple frames using a software trigger. Deprecated, please use multi(int, double, double).
      Parameters:
      numFrames -
      delayTime -
      exposureTime -
      delayAfterFrames - - redundant input kept only for backward compatibility.
      Throws:
      DeviceException
    • multi

      void multi(int numFrames, double delayTime, double exposureTime) throws DeviceException
      Captures multiple frames using a software trigger.
      Parameters:
      numFrames -
      delayTime -
      exposureTime -
      Throws:
      DeviceException
    • smulti

      void smulti(int numFrames, double delayTime, double exposureTime) throws DeviceException
      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

      void cmulti(int numFrames, double delayTime, double exposureTime) throws DeviceException
      MYTHEN 2 API no longer supported. Please use alternative cmulti(int, int, double, double).
      Parameters:
      numFrames -
      delayTime -
      exposureTime -
      Throws:
      DeviceException
    • gated

      void gated(int numFrames, int numGates) throws DeviceException
      gated multiple frames collection - one file per frame, numGates per frames
      Parameters:
      numFrames - - the number of frames to collect
      numGates - - the number of gates per frame to expose
      Throws:
      DeviceException
    • gated

      void gated(int numGates) throws DeviceException
      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 create
      numGates - Number of gates for each frame
      scanNumber - this acquisition number
      dataDirectory - the data directory to save data to
      collectionNumber - the index number for this acquisition - if invalid input: '<'0 Mythen detector controls the frame number increment starting from 1.
      Throws:
      DeviceException
    • gated

      void gated(int numFrames, int numGates, long scanNumber) throws DeviceException
      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 create
      numGates - Number of gates for each frame
      scanNumber - 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

      void setMythenClient(MythenEpicsClient mythenClient)
    • autoMode

      void autoMode() throws Exception
      Throws:
      Exception
    • triggerMode

      void triggerMode() throws Exception
      Throws:
      Exception
    • gatingMode

      void gatingMode() throws Exception
      Throws:
      Exception
    • ro_TriggerMode

      void ro_TriggerMode() throws Exception
      Throws:
      Exception
    • triggerredGatingMode

      void triggerredGatingMode() throws Exception
      Throws:
      Exception
    • setTriggerMode

      void setTriggerMode(int value) throws Exception
      Throws:
      Exception
    • setThreshold

      void setThreshold(double energy) throws Exception
      Throws:
      Exception
    • getThreshold

      double getThreshold() throws Exception
      Throws:
      Exception
    • setBeamEnergy

      void setBeamEnergy(double energy) throws Exception
      Throws:
      Exception
    • getBeamEnergy

      double getBeamEnergy() throws Exception
      Throws:
      Exception
    • standard

      void standard() throws Exception
      Throws:
      Exception
    • fast

      void fast() throws Exception
      Throws:
      Exception
    • highgain

      void highgain() throws Exception
      Throws:
      Exception
    • setBitDepth

      void setBitDepth(int bitDepth) throws Exception
      Throws:
      Exception
    • getBitDepth

      int getBitDepth() throws Exception
      Throws:
      Exception
    • setNumCycles

      void setNumCycles(int value) throws Exception
      Throws:
      Exception
    • getNumCycles

      int getNumCycles() throws Exception
      Throws:
      Exception
    • setNumFrames

      void setNumFrames(int value) throws Exception
      Throws:
      Exception
    • getNumFrames

      int getNumFrames() throws Exception
      Throws:
      Exception
    • setNumGates

      void setNumGates(int value) throws Exception
      Throws:
      Exception
    • getNumGates

      int getNumGates() throws Exception
      Throws:
      Exception
    • setDelayTime

      void setDelayTime(double value) throws Exception
      Throws:
      Exception
    • getDelayTime

      double getDelayTime() throws Exception
      Throws:
      Exception
    • setFilePath

      void setFilePath(String value) throws IOException
      Throws:
      IOException
    • getFilePath

      String getFilePath() throws Exception
      Throws:
      Exception
    • setFileName

      void setFileName(String value) throws IOException
      Throws:
      IOException
    • getFileName

      String getFileName() throws Exception
      Throws:
      Exception
    • setNextFileNumber

      void setNextFileNumber(int value) throws IOException
      Throws:
      IOException
    • getNextFileNumber

      int getNextFileNumber() throws Exception
      Throws:
      Exception
    • enableAutoIncrement

      void enableAutoIncrement() throws IOException
      Throws:
      IOException
    • disableAutoIncrement

      void disableAutoIncrement() throws IOException
      Throws:
      IOException
    • isAutoIncrement

      boolean isAutoIncrement() throws IOException
      Throws:
      IOException
    • enableAutoSave

      void enableAutoSave() throws IOException
      Throws:
      IOException
    • disableAutoSave

      void disableAutoSave() throws IOException
      Throws:
      IOException
    • isAutoSave

      boolean isAutoSave() throws IOException
      Throws:
      IOException
    • setFileTemplate

      void setFileTemplate(String value) throws IOException
      Throws:
      IOException
    • getFileTemplate

      String getFileTemplate() throws Exception
      Throws:
      Exception
    • getFullFileName

      String getFullFileName() throws Exception
      Throws:
      Exception
    • setFlatFieldPath

      void setFlatFieldPath(String value) throws IOException
      Throws:
      IOException
    • getFlatFieldPath

      String getFlatFieldPath() throws Exception
      Throws:
      Exception
    • setFlatFieldFile

      void setFlatFieldFile(String value) throws IOException
      Throws:
      IOException
    • getFlatFieldFile

      String getFlatFieldFile() throws Exception
      Throws:
      Exception
    • enableFlatFieldCorrection

      void enableFlatFieldCorrection() throws IOException
      Throws:
      IOException
    • disableFlatFieldCorrection

      void disableFlatFieldCorrection() throws IOException
      Throws:
      IOException
    • isFlatFieldCorrected

      boolean isFlatFieldCorrected() throws IOException
      Throws:
      IOException
    • enableCountRateCorrection

      void enableCountRateCorrection() throws IOException
      Throws:
      IOException
    • disableCountRateCorrection

      void disableCountRateCorrection() throws IOException
      Throws:
      IOException
    • isCountRateCorrected

      boolean isCountRateCorrected() throws IOException
      Throws:
      IOException
    • enableBadChannelCorrection

      void enableBadChannelCorrection() throws IOException
      Throws:
      IOException
    • disableBadChannelCorrection

      void disableBadChannelCorrection() throws IOException
      Throws:
      IOException
    • isBadChannelCorrected

      boolean isBadChannelCorrected() throws IOException
      Throws:
      IOException
    • enableAngularConversion

      void enableAngularConversion() throws IOException
      Throws:
      IOException
    • disableAngularConversion

      void disableAngularConversion() throws IOException
      Throws:
      IOException
    • isAngularConversionEnabled

      boolean isAngularConversionEnabled() throws IOException
      Throws:
      IOException
    • setConfigFile

      void setConfigFile(String value) throws IOException
      Throws:
      IOException
    • loadConfigFile

      void loadConfigFile() throws IOException
      Throws:
      IOException
    • saveConfigFile

      void saveConfigFile() throws IOException
      Throws:
      IOException
    • setExposureTime

      void setExposureTime(double exposureTime) throws Exception
      Throws:
      Exception
    • getExposureTime

      double getExposureTime() throws Exception
      Throws:
      Exception
    • setAcquirePeriod

      void setAcquirePeriod(double acquireperiod) throws Exception
      Throws:
      Exception
    • getAcquirePeriod

      double getAcquirePeriod() throws Exception
      Throws:
      Exception
    • startWait

      void startWait() throws DeviceException
      Throws:
      DeviceException
    • getProcessedDataFilesForThisScan

      ArrayList<File> getProcessedDataFilesForThisScan()
    • getNumberOfModules

      int getNumberOfModules()
    • getProcessingTasks

      List<DataProcessingTask> getProcessingTasks()
    • setProcessingTasks

      void setProcessingTasks(List<DataProcessingTask> processingTasks)