Interface EdeDetector

All Superinterfaces:
Configurable, Detector, Device, Findable, gda.observable.IObservable, NexusDetector, Scannable
All Known Subinterfaces:
FrelonDetector, StripDetector, XCHIPDetector
All Known Implementing Classes:
EdeDetectorBase, EdeDummyDetector, EdeFrelon, XhDetector

public interface EdeDetector extends NexusDetector
  • Field Details

  • Method Details

    • readFrames

      NexusTreeProvider[] readFrames(int startFrame, int finalFrame) throws DeviceException
      Parameters:
      startFrame -
      finalFrame -
      Returns:
      read a range of frames
      Throws:
      DeviceException
    • createDatasetForPixel

      org.eclipse.january.dataset.DoubleDataset createDatasetForPixel()
    • writeLiveDataFile

      void writeLiveDataFile() throws DeviceException
      Throws:
      DeviceException
    • getEnergyForChannels

      double[] getEnergyForChannels()
    • getPixels

      Integer[] getPixels()
    • getDetectorData

      DetectorData getDetectorData()
    • getNumberOfSpectra

      int getNumberOfSpectra() throws DeviceException
      Throws:
      DeviceException
    • getTemperatures

      HashMap<String,Double> getTemperatures() throws DeviceException
      Throws:
      DeviceException
    • fetchStatus

      DetectorStatus fetchStatus() throws DeviceException
      Throws:
      DeviceException
    • getNumberScansInFrame

      int getNumberScansInFrame(double frameTime, double scanTime, int numberOfFrames) throws DeviceException
      Throws:
      DeviceException
    • getMaxPixel

      int getMaxPixel()
    • prepareDetectorwithScanParameters

      void prepareDetectorwithScanParameters(EdeScanParameters newParameters) throws DeviceException
      Throws:
      DeviceException
    • fetchDetectorSettings

      void fetchDetectorSettings()
      to pull detector setting from detector server to synchronise the DetectorData object
    • isDropFirstFrame

      boolean isDropFirstFrame()
    • getEnergyCalibration

      CalibrationDetails getEnergyCalibration()
      Returns the function used to convert channel number to energy. If not calibrated it should return a simple y = x function.
      Returns:
      PolynomialFunction
    • setEnergyCalibration

      void setEnergyCalibration(CalibrationDetails calibrationDetails)
      Set the energy calibration. The detector object should persist this between GDA server restarts.
      Parameters:
      calibrationDetails -
    • isEnergyCalibrationSet

      boolean isEnergyCalibrationSet()
    • getRois

      Roi[] getRois()
      Returns the regions in use, as defined by calls to setRois or setNumberRois
      Returns:
      the array of regions
    • setRois

      void setRois(Roi[] rois)
      Ignoring the lower and upper channel properties, explicitly set the regions in use.
      Parameters:
      rois -
    • setNumberRois

      void setNumberRois(int numberOfRois)
      Set evenly sized regions of interest, ignoring channels outside of the lower and upper channel limits.
      Parameters:
      numberOfRois -
    • getNumberOfRois

      int getNumberOfRois()
    • setLowerChannel

      void setLowerChannel(int channel)
    • getLowerChannel

      int getLowerChannel()
    • setUpperChannel

      void setUpperChannel(int channel)
    • getUpperChannel

      int getUpperChannel()
    • setExcludedPixels

      void setExcludedPixels(Integer[] excludedStrips)
      The numbers of the strips which should be excluded when returning the data and creating region totals.

      NB: these strips are still to be accounted for by the set/getChannelBiases methods.

      Parameters:
      excludedStrips -
    • getExcludedPixels

      Integer[] getExcludedPixels()
    • getRoiFor

      int getRoiFor(int elementIndex)
    • getNumberScansInFrame

      int getNumberScansInFrame()
    • setNumberScansInFrame

      void setNumberScansInFrame(int numScansInFrame)
    • configureDetectorForTimingGroup

      void configureDetectorForTimingGroup(TimingGroup group) throws DeviceException
      Throws:
      DeviceException
    • configureDetectorForROI

      void configureDetectorForROI(int verticalBinning, int ccdLineBegin) throws DeviceException
      Throws:
      DeviceException
    • setSynchroniseToBeamOrbit

      void setSynchroniseToBeamOrbit(boolean synchroniseToBeamOrbit)
    • getSynchroniseToBeamOrbit

      boolean getSynchroniseToBeamOrbit()
    • setSynchroniseBeamOrbitDelay

      void setSynchroniseBeamOrbitDelay(int synchroniseBeamOrbitDelay) throws DeviceException
      Throws:
      DeviceException
    • getSynchroniseBeamOrbitDelay

      int getSynchroniseBeamOrbitDelay()
    • setOrbitWaitMethod

      void setOrbitWaitMethod(String methodString)
    • getOrbitWaitMethod

      String getOrbitWaitMethod()
    • setAccumulationReadoutTime

      void setAccumulationReadoutTime(double timeSecs)
      Set the accumulation readout time
      Parameters:
      accumulationReadoutTime - (in seconds)
    • getAccumulationReadoutTime

      double getAccumulationReadoutTime()
      Returns:
      Accumulation readout time (in seconds)
    • getDetectorSetupType

      DetectorSetupType getDetectorSetupType()
    • setDetectorSetupType

      void setDetectorSetupType(DetectorSetupType detectorSetupType)
    • readoutFrames

      int[] readoutFrames(int startFrame, int finalFrame) throws DeviceException
      implements the read out of frames from the actual detector used.
      Parameters:
      startFrame -
      finalFrame -
      Returns:
      an 1D integer array containing all frames concatenated from start frame to the final frame inclusively.
      Throws:
      DeviceException
    • getLastImageAvailable

      int getLastImageAvailable() throws DeviceException
      Returns:
      Index of last image on the detector available for reading out using. (i.e. -1 = no image is ready, 0 = 1 image is ready)
      Throws:
      DeviceException
    • getMaxNumFramesToRead

      int getMaxNumFramesToRead()