Class JohannSpectrometer

All Implemented Interfaces:
INeXusInfoWriteable, Device, Scannable, ScannableMotion, ScannableMotionUnits, IXesSpectrometerScannable, Configurable, Findable, gda.observable.IObservable, gda.observable.IObserver

  • Constructor Details

    • JohannSpectrometer

      public JohannSpectrometer()
  • 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
    • rawAsynchronousMoveTo

      public void rawAsynchronousMoveTo(Object position) throws DeviceException
      Description copied from class: ScannableBase
      [Consider abstract] Trigger a move/operation to an internal/hardware position and return immediately.
      Overrides:
      rawAsynchronousMoveTo in class ScannableBase
      Parameters:
      position - Position in its internal/hardware representation. e.g. with units and offsets removed
      Throws:
      DeviceException
      See Also:
    • getSpectrometerPositions

      public Map<Scannable,Double> getSpectrometerPositions(double targetBragg)
      Parameters:
      targetBragg -
      Returns:
      Map containing position of each scannable in the spectrometer for the given energy.
    • rawGetPosition

      public Object rawGetPosition() throws DeviceException
      Determine Bragg angle from height of central analyser.
      Overrides:
      rawGetPosition in class ScannableBase
      Returns:
      the value represented by this Scannable
      Throws:
      DeviceException
      See Also:
    • getDetectorAxisPosition

      public double[] getDetectorAxisPosition(double axisLength, double braggAngle)
      Position of detector rotation axis relative to the detector position. +ve direction of position is away from analyser (i.e. 'behind' the sample position)
      Parameters:
      axisLength -
      braggAngle -
      Returns:
      rotation axis position relative to detector position - x, y
    • getDetectorAxisLength

      public double getDetectorAxisLength()
    • setDetectorAxisLength

      public void setDetectorAxisLength(double detectorAxisLength)
    • getAnalyserSeparationAngle

      public double getAnalyserSeparationAngle()
    • setAnalyserSeparationAngle

      public void setAnalyserSeparationAngle(double analyserSeparationAngle)
    • getSourceDisplacement

      public double getSourceDisplacement()
    • setSourceDisplacement

      public void setSourceDisplacement(double sourceDisplacement)
    • isIncludeYawCorrection

      public boolean isIncludeYawCorrection()
    • setIncludeYawCorrection

      public void setIncludeYawCorrection(boolean includeYawCorrection)