Class StepScanEdeDetector

All Implemented Interfaces:
Detector, NexusDetector, Device, Scannable, Configurable, Findable, gda.observable.IObservable, Serializable

public class StepScanEdeDetector extends DetectorBase implements NexusDetector
Drive an EdeDetector object so it can be used in 'regular' step scans. For ad hoc scans during commissioning / beamline alignment.
See Also:
  • Constructor Details

    • StepScanEdeDetector

      public StepScanEdeDetector()
  • Method Details

    • prepareForCollection

      public void prepareForCollection()
      Configure the detector once at start of scan to save some time during the collection
      Specified by:
      prepareForCollection in interface Detector
      Overrides:
      prepareForCollection in class DetectorBase
      Since:
      28/10/2016
      See Also:
    • prepareDetectorForTimingGroup

      public void prepareDetectorForTimingGroup() throws DeviceException
      Configure the detector with timing group information (number of accumulations, accumulation time)
      Throws:
      DeviceException
      Since:
      28/10/2016
    • collectData

      public void collectData() throws DeviceException
      Description copied from interface: Detector
      Tells the detector to begin to collect a set of data, then returns immediately. Should cause the hardware to start collecting immediately: if there is any delay then detectors used in the same scan would collect over different times when beam conditions may differ.
      Specified by:
      collectData in interface Detector
      Throws:
      DeviceException
    • getStatus

      public int getStatus() throws DeviceException
      Description copied from interface: Detector
      Returns the current collecting state of the device.
      Specified by:
      getStatus in interface Detector
      Returns:
      BUSY if the detector has not finished the requested operation(s), IDLE if in an completely idle state and STANDBY if temporarily suspended.
      Throws:
      DeviceException
    • waitWhileBusy

      public void waitWhileBusy() throws DeviceException, InterruptedException
      Description copied from class: ScannableBase
      Returns when operation carried out by moveTo has completed If this is to be overriden, isBusy must also be valid. Although the pos and scan command currently use this method to determine if the Scannable is busy, this must not be relied upon.
      Specified by:
      waitWhileBusy in interface Detector
      Specified by:
      waitWhileBusy in interface Scannable
      Overrides:
      waitWhileBusy in class ScannableBase
      Throws:
      DeviceException
      InterruptedException
    • createsOwnFiles

      public boolean createsOwnFiles() throws DeviceException
      Description copied from interface: Detector
      Returns a value which indicates whether the detector creates its own files. If it does (return true) the readout() method returns the name of the latest file created as a string. If it does not (return false) the readout() method will return the data directly.
      Specified by:
      createsOwnFiles in interface Detector
      Returns:
      true if readout() returns filenames
      Throws:
      DeviceException
    • readout

      public NexusTreeProvider readout() throws DeviceException
      Description copied from interface: NexusDetector
      Returns the latest data collected as well as general detector information
      Specified by:
      readout in interface Detector
      Specified by:
      readout in interface NexusDetector
      Returns:
      the data collected
      Throws:
      DeviceException
    • getDetector

      public EdeDetector getDetector()
    • setDetector

      public void setDetector(EdeDetector xh)
    • getExtraNames

      public String[] getExtraNames()
      Description copied from interface: Scannable
      Additional names for extra values that returned by getPosition().
      Specified by:
      getExtraNames in interface Scannable
      Overrides:
      getExtraNames in class ScannableBase
      Returns:
      array of names of the extra elements if the array returned by getPosition is larger than the array required by moveTo
    • getInputNames

      public String[] getInputNames()
      Description copied from interface: Scannable
      gets a array of InputNames used by moveTo of this scannable.
      Specified by:
      getInputNames in interface Scannable
      Overrides:
      getInputNames in class ScannableBase
      Returns:
      array of the names of the elements of the object returned by getPosition
    • getOutputFormat

      public String[] getOutputFormat()
      Description copied from interface: Scannable
      Returns an array of strings which are the format strings to use when pretty printing parts of the output
      Specified by:
      getOutputFormat in interface Scannable
      Overrides:
      getOutputFormat in class ScannableBase
      Returns:
      string array
    • getNumberScansPerFrame

      public int getNumberScansPerFrame()
    • setNumberScansPerFrame

      public void setNumberScansPerFrame(int numberScansPerFrame)
    • getTimeUnitLength

      public double getTimeUnitLength()
    • setTimeUnitLength

      public void setTimeUnitLength(double timeUnitLength)
      Multiplier applied to collection time value to convert from 'user units' to seconds. (This is the number entered for the detector time on command line step scans). Default value is milliseconds, 1e-3 (for Frelon).
      Parameters:
      timeUnitLength -