Interface XmapController

All Superinterfaces:
Configurable, Device, Findable, gda.observable.IObservable
All Known Implementing Classes:
DummyXmapController, DummyXmapControllerAreaDetector, DummyXmapControllerBase, EpicsDummyXmapController, EpicsXmapController, EpicsXmapControllerROI

public interface XmapController extends Device
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Clears all MCAs and starts data collection
    void
    deleteROIs(int mcaIndex)
    Deletes all the current regions of interest on a give mca detector element.
    double
    Returns the time for which the detector is set to acquire data
    int[][]
    Returns the twoD data array of the all the MCAs
    int[]
    getData(int mcaNumber)
    Returns the data array of the specified MCA
    int
    getEvents(int element)
     
    double
    getICR(int element)
    Reads the input count rate for an element also known as the fast filter rate outside EPICS
    int
    Returns current number of Bins/channels for spectrum acquisition in each MCA
    int
    Returns the number of MCAs currently connected to the XMap detector
    int
    Returns the Number of Regions of Interest
    double
    getOCR(int element)
    Reads the output count rate for an element also known as the slow filter rate outside EPICS
    double
    Returns the current rate at which data is read in the Epics interface
    double
    Returns the elapsed real time after a read status operation
    double[]
    getROICounts(int roiIndex)
    Returns the roi count for the specified roiIndex in all MCAs
    double[][]
    getROIParameters(int mcaNumber)
     
    double[]
    getROIs(int mcaNumber)
     
    double[]
    getROIs(int mcaNumber, int[][] data)
     
    double[]
    returns the sum of the regions of interest for each region of all MCAs
    int
    Returns the status of the detector
    double
    Returns the current set rate at which status is read in the Epics interface
    void
    setAcquisitionTime(double time)
    Tells the detector for how many seconds to acquire data
    void
    setNthROI(double[][] rois, int roiIndex)
    Sets the specified roi for all the mcas
    void
    setNumberOfBins(int numberOfBins)
    Sets maximum numbers of bins/channels to use for spectrum acquisition in each MCA
    void
    setNumberOfElements(int numberOfElements)
    Sets the number of MCAs currently connected to the XMap detector
    void
    setNumberOfROIs(int numberOfROIs)
    Sets the Number of Regions of Interest for all MCAs
    void
    setReadRate(double readRate)
    Sets the rate at which data is read in the Epics interface
    void
    setReadRate(String readRate)
    Sets the rate at which data is read in the Epics interface
    void
    setROI(double[][] rois, int mcaIndex)
    Sets the all ROIs of the specified MCA.
    void
    setROIs(double[][] rois)
    Sets the all ROIs of all the MCA.
    void
    setStatusRate(double statusRate)
    Sets the rate at which status is read in the Epics interface
    void
    setStatusRate(String statusRate)
    Sets the rate at which status is read in the Epics interface
    void
    Start data acquisition in all MCA's
    void
    Stop data acquisition in all MCA's

    Methods inherited from interface gda.factory.Configurable

    configure, isConfigureAtStartup, isConfigured, reconfigure

    Methods inherited from interface gda.device.Device

    close, getAttribute, getProtectionLevel, setAttribute, setProtectionLevel

    Methods inherited from interface gda.factory.Findable

    getName, setName

    Methods inherited from interface gda.observable.IObservable

    addIObserver, deleteIObserver, deleteIObservers
  • Method Details

    • clearAndStart

      void clearAndStart() throws DeviceException
      Clears all MCAs and starts data collection
      Throws:
      DeviceException
    • start

      void start() throws DeviceException
      Start data acquisition in all MCA's
      Throws:
      DeviceException
    • stop

      void stop() throws DeviceException
      Stop data acquisition in all MCA's
      Throws:
      DeviceException
    • setNumberOfBins

      void setNumberOfBins(int numberOfBins) throws DeviceException
      Sets maximum numbers of bins/channels to use for spectrum acquisition in each MCA
      Parameters:
      numberOfBins -
      Throws:
      DeviceException
    • getNumberOfBins

      int getNumberOfBins() throws DeviceException
      Returns current number of Bins/channels for spectrum acquisition in each MCA
      Returns:
      numberOfBins
      Throws:
      DeviceException
    • setStatusRate

      void setStatusRate(double statusRate) throws DeviceException
      Sets the rate at which status is read in the Epics interface
      Parameters:
      statusRate -
      Throws:
      DeviceException
    • getStatusRate

      double getStatusRate() throws DeviceException
      Returns the current set rate at which status is read in the Epics interface
      Returns:
      status rate
      Throws:
      DeviceException
    • setReadRate

      void setReadRate(double readRate) throws DeviceException
      Sets the rate at which data is read in the Epics interface
      Parameters:
      readRate -
      Throws:
      DeviceException
    • getReadRate

      double getReadRate() throws DeviceException
      Returns the current rate at which data is read in the Epics interface
      Returns:
      readRate
      Throws:
      DeviceException
    • getRealTime

      double getRealTime() throws DeviceException
      Returns the elapsed real time after a read status operation
      Returns:
      real time
      Throws:
      DeviceException
    • getStatus

      int getStatus() throws DeviceException
      Returns the status of the detector
      Returns:
      Detector.IDLE/BUSY
      Throws:
      DeviceException
    • setAcquisitionTime

      void setAcquisitionTime(double time) throws DeviceException
      Tells the detector for how many seconds to acquire data
      Parameters:
      time -
      Throws:
      DeviceException
    • getAcquisitionTime

      double getAcquisitionTime() throws DeviceException
      Returns the time for which the detector is set to acquire data
      Returns:
      time
      Throws:
      DeviceException
    • getData

      int[] getData(int mcaNumber) throws DeviceException
      Returns the data array of the specified MCA
      Parameters:
      mcaNumber -
      Returns:
      data array
      Throws:
      DeviceException
    • getData

      int[][] getData() throws DeviceException
      Returns the twoD data array of the all the MCAs
      Returns:
      data array
      Throws:
      DeviceException
    • getNumberOfROIs

      int getNumberOfROIs()
      Returns the Number of Regions of Interest
      Returns:
      roi number
    • setNumberOfROIs

      void setNumberOfROIs(int numberOfROIs)
      Sets the Number of Regions of Interest for all MCAs
      Parameters:
      numberOfROIs -
    • getNumberOfElements

      int getNumberOfElements() throws DeviceException
      Returns the number of MCAs currently connected to the XMap detector
      Returns:
      number of MCA
      Throws:
      DeviceException
    • setNumberOfElements

      void setNumberOfElements(int numberOfElements) throws DeviceException
      Sets the number of MCAs currently connected to the XMap detector
      Parameters:
      numberOfElements -
      Throws:
      DeviceException
    • setStatusRate

      void setStatusRate(String statusRate) throws DeviceException
      Sets the rate at which status is read in the Epics interface
      Parameters:
      statusRate -
      Throws:
      DeviceException
    • setReadRate

      void setReadRate(String readRate) throws DeviceException
      Sets the rate at which data is read in the Epics interface
      Parameters:
      readRate -
      Throws:
      DeviceException
    • getROIsSum

      double[] getROIsSum() throws DeviceException
      returns the sum of the regions of interest for each region of all MCAs
      Returns:
      a double array e.g if there are 4 mcas and 3 ois each , it returns [region1_sum, region2_sum, region3_sum]
      Throws:
      DeviceException
    • getROICounts

      double[] getROICounts(int roiIndex) throws DeviceException
      Returns the roi count for the specified roiIndex in all MCAs
      Parameters:
      roiIndex -
      Returns:
      a double array, e.g if there are 4 mcas and the specified index is 1, it returns [mca1_region1_count, mca2_region1_count, mca3_region1_count, mca4_region1_count]
      Throws:
      DeviceException
    • setROI

      void setROI(double[][] rois, int mcaIndex) throws DeviceException
      Sets the all ROIs of the specified MCA.
      Parameters:
      rois - array. Each roi should have a low and high value.
      mcaIndex -
      Throws:
      DeviceException
    • deleteROIs

      void deleteROIs(int mcaIndex) throws DeviceException
      Deletes all the current regions of interest on a give mca detector element.
      Parameters:
      mcaIndex -
      Throws:
      DeviceException
    • setROIs

      void setROIs(double[][] rois) throws DeviceException
      Sets the all ROIs of all the MCA. All mcas will be set the same roi
      Parameters:
      rois - array. Each roi should have a low and high value.
      Throws:
      DeviceException
    • setNthROI

      void setNthROI(double[][] rois, int roiIndex) throws DeviceException
      Sets the specified roi for all the mcas
      Parameters:
      rois - array. Each roi should have a low and high value.
      roiIndex -
      Throws:
      DeviceException
    • getEvents

      int getEvents(int element) throws DeviceException
      Parameters:
      element -
      Returns:
      the total count for the last element
      Throws:
      DeviceException
    • getICR

      double getICR(int element) throws DeviceException
      Reads the input count rate for an element also known as the fast filter rate outside EPICS
      Parameters:
      element -
      Returns:
      rate
      Throws:
      DeviceException
    • getOCR

      double getOCR(int element) throws DeviceException
      Reads the output count rate for an element also known as the slow filter rate outside EPICS
      Parameters:
      element -
      Returns:
      rate
      Throws:
      DeviceException
    • getROIs

      double[] getROIs(int mcaNumber) throws DeviceException
      Parameters:
      mcaNumber -
      Returns:
      double array of regions of interest
      Throws:
      DeviceException
    • getROIs

      double[] getROIs(int mcaNumber, int[][] data) throws DeviceException
      Parameters:
      mcaNumber -
      Returns:
      double array of regions of interest
      Throws:
      DeviceException
    • getROIParameters

      double[][] getROIParameters(int mcaNumber) throws DeviceException
      Throws:
      DeviceException