Class I21Detector

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

public class I21Detector extends DetectorBase implements NexusDetector
See Also:
  • Constructor Details

    • I21Detector

      public I21Detector()
  • Method Details

    • configure

      public void configure() throws FactoryException
      Description copied from class: ConfigurableBase
      Default implementation for classes that do not have to do any specific configuration.
      Classes that do their own configuration should *not* call this superclass function, as it may cause the object to appear configured before it really is.
      Specified by:
      configure in interface Configurable
      Overrides:
      configure in class ConfigurableBase
      Throws:
      FactoryException - if there is an error in configuration e.g. required variable not set or cannot connect to device
    • 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
    • prepareForCollection

      public void prepareForCollection() throws DeviceException
      Description copied from class: DetectorBase
      Default which should be overridden by subclasses.
      Specified by:
      prepareForCollection in interface Detector
      Overrides:
      prepareForCollection in class DetectorBase
      Throws:
      DeviceException
      See Also:
    • 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
    • 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
    • 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
    • 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
    • moveToSample

      public void moveToSample() throws DeviceException, InterruptedException
      Throws:
      DeviceException
      InterruptedException
    • moveToReference

      public void moveToReference() throws DeviceException, InterruptedException
      Throws:
      DeviceException
      InterruptedException
    • toFormattedString

      public String toFormattedString()
      Description copied from interface: Scannable
      Returns a string representation of the Scannable and its current position/value/status

      Typically should return:

      name : position

      or for detectors, name : status

      If the position/status cannot be determined, the function should return Scannable.VALUE_UNAVAILABLE in its place.

      Specified by:
      toFormattedString in interface Scannable
      Overrides:
      toFormattedString in class DetectorBase
      Returns:
      string as defined above
    • getAdDetector

      public ADDetector getAdDetector()
    • setAdDetector

      public void setAdDetector(ADDetector adDetector)
    • getSampleX

      public double getSampleX()
    • setSampleX

      public void setSampleX(double sampleX)
    • getSampleY

      public double getSampleY()
    • setSampleY

      public void setSampleY(double sampleY)
    • getSampleZ

      public double getSampleZ()
    • setSampleZ

      public void setSampleZ(double sampleZ)
    • setSamplePosition

      public void setSamplePosition(double x, double y, double z)
    • getReferenceX

      public double getReferenceX()
    • setReferenceX

      public void setReferenceX(double referenceX)
    • getReferenceY

      public double getReferenceY()
    • setReferenceY

      public void setReferenceY(double referenceY)
    • getReferenceZ

      public double getReferenceZ()
    • setReferenceZ

      public void setReferenceZ(double referenceZ)
    • setReferencePosition

      public void setReferencePosition(double x, double y, double z)
    • getManipulatorX

      public Scannable getManipulatorX()
    • setManipulatorX

      public void setManipulatorX(Scannable manipulatorX)
    • getManipulatorY

      public Scannable getManipulatorY()
    • setManipulatorY

      public void setManipulatorY(Scannable manipulatorY)
    • getManipulatorZ

      public Scannable getManipulatorZ()
    • setManipulatorZ

      public void setManipulatorZ(Scannable manipulatorZ)
    • getSampleImages

      public int getSampleImages()
    • setSampleImages

      public void setSampleImages(int sampleImages)
    • getSampleExposureTime

      public double getSampleExposureTime()
    • setSampleExposureTime

      public void setSampleExposureTime(double sampleExposureTime)
    • getReferenceImages

      public int getReferenceImages()
    • setReferenceImages

      public void setReferenceImages(int referenceImages)
    • getReferenceExposureTime

      public double getReferenceExposureTime()
    • setReferenceExposureTime

      public void setReferenceExposureTime(double referenceExposureTime)