Interface ISpecsPhoibosAnalyser

All Superinterfaces:
Findable, IAnalyserSequence, gda.observable.IObservable
All Known Implementing Classes:
SpecsPhoibosAnalyser, SpecsPhoibosAnalyserSeparateIterations, SpecsPhoibosSolsticeAnalyser

public interface ISpecsPhoibosAnalyser extends Findable, gda.observable.IObservable, IAnalyserSequence
This is the interface used to expose the SPECS Phoibos analyser over RMI.

It is intended to only contain the methods needed to make a rich GUI to interact with the analyser

  • Method Details

    • getDwellTime

      double getDwellTime()
    • setDwellTime

      void setDwellTime(double collectionTime)
    • setLensMode

      void setLensMode(String value)
    • setAcquisitionMode

      void setAcquisitionMode(String value)
    • setPassEnergy

      void setPassEnergy(double value)
    • getPassEnergy

      double getPassEnergy()
    • getLensModes

      Set<String> getLensModes()
    • setPsuMode

      void setPsuMode(String psuMode)
    • getPsuModes

      Set<String> getPsuModes()
    • getPsuMode

      String getPsuMode()
    • getLensMode

      String getLensMode()
    • getEnergyAxis

      double[] getEnergyAxis()
    • getYAxis

      double[] getYAxis()
    • getSpectrum

      double[] getSpectrum(int index)
    • getSpectrum

      double[] getSpectrum()
    • getSlices

      int getSlices()
    • getImage

      double[][] getImage()
    • validateSequence

      Performs EPICS validation and scannable position validation for all regions in a sequence
      Parameters:
      sequence -
      Returns:
      SpecsPhoibosSequenceValidation
      Throws:
      DeviceException
    • isNotBusy

      boolean isNotBusy()
    • setRegion

      void setRegion(SpecsPhoibosRegion region)
      Configures the analyser to acquire the region specified.
      Parameters:
      region - The region to set /** This is the interface used to expose the SPECS Phoibos analyser over RMI.

      It is intended to only contain the methods needed to make a rich GUI to interact with the analyser

    • getRegion

      SpecsPhoibosRegion getRegion()
      Get the current analyser settings and builds a region from them.
      Returns:
      The region the analyser is currently configured for
    • setDefaultRegionUi

      void setDefaultRegionUi(SpecsPhoibosRegion region)
    • getDefaultRegionUi

      SpecsPhoibosRegion getDefaultRegionUi()
    • startAlignment

      void startAlignment(double passEnergy, double centreEnergy, double exposureTime, String lensMode)
      Starts the analyser acquiring in single image mode, this is intended for use in alignment. This is non blocking
    • stopAlignment

      default void stopAlignment()
    • stopAcquiring

      void stopAcquiring()
    • getCenterEnergy

      double getCenterEnergy()
    • getDetectorEnergyWidth

      double getDetectorEnergyWidth()
    • getYUnits

      String getYUnits()
    • getAcquisitionModes

      Set<String> getAcquisitionModes()
    • setSequence

      void setSequence(SpecsPhoibosSequence sequence, String filepath)
      Sets up the analyser to run the provided sequence.
      Parameters:
      sequence - The sequence to set
      filepath - The path of the sequence file
      Throws:
      IllegalArgumentException - If the sequence can't be set
    • toKineticEnergy

      double toKineticEnergy(double bindingEnergy)
      Converts binding energy to kinetic energy according to:
      KE = hν - BE - Φ
      where hν = photon energy and Φ = analyser work function
      Parameters:
      bindingEnergy - to convert
      Returns:
      The equivalent binding energy
    • toBindingEnergy

      double toBindingEnergy(double kineticEnergy)
      Converts kinetic energy to binding energy according to:
      BE = hν - KE - Φ
      where hν = photon energy and Φ = analyser work function
      Parameters:
      kineticEnergy - to convert
      Returns:
      The equivalent binding energy
    • toKineticEnergy

      double[] toKineticEnergy(double[] bindingEnergy)
      Converts binding energy to kinetic energy according to:
      KE = hν - BE - Φ
      where hν = photon energy and Φ = analyser work function
      Parameters:
      bindingEnergy - to convert
      Returns:
      The equivalent binding energy
    • toBindingEnergy

      double[] toBindingEnergy(double[] kineticEnergy)
      Converts kinetic energy to binding energy according to:
      BE = hν - KE - Φ
      where hν = photon energy and Φ = analyser work function
      Parameters:
      kineticEnergy - to convert
      Returns:
      The equivalent binding energy
    • stopAfterCurrentIteration

      void stopAfterCurrentIteration()
    • setShouldCheckExperimentalShutter

      void setShouldCheckExperimentalShutter(boolean shouldCheckExperimentalShutter)
    • getShouldCheckExperimentalShutter

      boolean getShouldCheckExperimentalShutter()
    • setShouldCheckPrelensValve

      void setShouldCheckPrelensValve(boolean shouldCheckPrelensValve)
    • getShouldCheckPrelensValve

      boolean getShouldCheckPrelensValve()
    • enableExperimentalShutterCheck

      void enableExperimentalShutterCheck()
    • disableExperimentalShutterCheck

      void disableExperimentalShutterCheck()
    • enablePrelensValveCheck

      void enablePrelensValveCheck()
    • disablePrelensValveCheck

      void disablePrelensValveCheck()
    • getIterations

      int getIterations()
    • getCurrentIteration

      int getCurrentIteration()
    • getCurrentRegionName

      String getCurrentRegionName()
    • getCurrentPositionString

      String getCurrentPositionString()
    • getSnapshotImageSizeX

      default int getSnapshotImageSizeX()
    • stopAfterCurrentRegion

      void stopAfterCurrentRegion()