Package gda.scan

Class TurboXasNexusTree

java.lang.Object
gda.scan.TurboXasNexusTree

public class TurboXasNexusTree extends Object
Class to read out from detectors used during TurboXasScan and return NexusTreeProvider object containing the data. Refactored from TurboXasScan
  • Field Details

  • Constructor Details

    • TurboXasNexusTree

      public TurboXasNexusTree()
  • Method Details

    • addDetectorDataLink

      public void addDetectorDataLink(NexusFile nexusFile, Xspress3BufferedDetector detector) throws URISyntaxException, DeviceException, NexusException
      Add link to external xspress3 hdf file containing detector data
      Parameters:
      nexusFile -
      detector - xspress3 detector
      Throws:
      URISyntaxException
      DeviceException
      NexusException
    • addDataAtEndOfScan

      public void addDataAtEndOfScan(String filename, BufferedDetector[] bufferedDetectors) throws URISyntaxException, DeviceException, NexusException, org.eclipse.january.DatasetException
      Throws:
      URISyntaxException
      DeviceException
      NexusException
      org.eclipse.january.DatasetException
    • createYamlMap

      public Map<String,Object> createYamlMap(Scannable bufferedScaler)
      Create Yaml map to use with NexusTemplate to add NXData objects with appropriate attributes and links to original dataset to Nexus file
      Parameters:
      bufferedScaler -
      Returns:
    • isAddNxDataEntries

      public boolean isAddNxDataEntries()
    • setAddNxDataEntries

      public void setAddNxDataEntries(boolean isAddNxDataEntries)
    • getAttributeDataNames

      public Map<String,Integer> getAttributeDataNames()
    • isReverseDetectorReadout

      public boolean isReverseDetectorReadout()
    • setReverseDetectorReadout

      public void setReverseDetectorReadout(boolean reverseDetectorReadout)
    • addFFSumI0Data

      public void addFFSumI0Data(INexusTree detTree)
      Add Xspress3 FFsum/I0 values to the Nexus tree. The I0 dataset should be present in the Nexus tree (from the buffered scaler data by first calling storeI0Data(INexusTree).
      Parameters:
      detTree -
    • addTopupData

      public void addTopupData(INexusTree detTree)
      Add topup counts value for the current spectrum to Nexus tree (i.e. sum over topup counts for each time frame in the spectrum).
      Parameters:
      detTree -
    • addGroupData

      public void addGroupData(INexusTree detTree)
      Add indices of current spectrum group and number to Nexus tree.
      Parameters:
      detectorData -
      detectorName -
      Throws:
      NexusException
    • readFrames

      public NexusTreeProvider[] readFrames(BufferedDetector detector, int lowFrame, int highFrame) throws Exception, DeviceException
      Throws:
      Exception
      DeviceException
    • getFrameTimeFieldName

      public String getFrameTimeFieldName()
    • setFrameTimeFieldName

      public void setFrameTimeFieldName(String timeframeFieldName)
    • getScanAxis

      public ContinuouslyScannable getScanAxis()
    • setScanAxis

      public void setScanAxis(ContinuouslyScannable scanAxis)
    • getXspress3FileReader

      public SwmrFileReader getXspress3FileReader()
    • getNumReadoutsPerSpectrum

      public int getNumReadoutsPerSpectrum()
    • setNumReadoutsPerSpectrum

      public void setNumReadoutsPerSpectrum(int numReadoutsPerSpectrum)
    • setXspress3FileReader

      public void setXspress3FileReader(SwmrFileReader xspress3FileReader)
    • setStartTime

      public void setStartTime(long startTimeUtcMillis)
      Absolute start time of first spectrum, measured UTC in milliseconds.
      Parameters:
      startTimeUtcMillis -
    • getStartTime

      public long getStartTime()
    • getNamesForDefaultNXData

      public List<String> getNamesForDefaultNXData()
    • setNamesForDefaultNXData

      public void setNamesForDefaultNXData(List<String> namesForDefaultNXData)
    • getDatasetsToAverage

      public List<String> getDatasetsToAverage()
    • setDatasetsToAverage

      public void setDatasetsToAverage(List<String> datasetsToAverage)
    • clearRunningAverages

      public void clearRunningAverages()
    • setGroupSpectrumNumber

      public void setGroupSpectrumNumber(int groupNumber, int spectrumNumber)