Package gda.scan
Class TurboXasNexusTree
java.lang.Object
gda.scan.TurboXasNexusTree
Class to read out from detectors used during
TurboXasScan and return NexusTreeProvider object containing the data.
Refactored from TurboXasScan-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDataAtEndOfScan(String filename, BufferedDetector[] bufferedDetectors) voidaddDetectorDataLink(NexusFile nexusFile, Xspress3BufferedDetector detector) Add link to external xspress3 hdf file containing detector datavoidaddFFSumI0Data(INexusTree detTree) Add Xspress3 FFsum/I0 values to the Nexus tree.voidaddGroupData(INexusTree detTree) Add indices of current spectrum group and number to Nexus tree.voidaddTopupData(INexusTree detTree) Add topup counts value for the current spectrum to Nexus tree (i.e.voidcreateYamlMap(Scannable bufferedScaler) Create Yaml map to use with NexusTemplate to add NXData objects with appropriate attributes and links to original dataset to Nexus fileintlongbooleanbooleanreadFrames(BufferedDetector detector, int lowFrame, int highFrame) voidsetAddNxDataEntries(boolean isAddNxDataEntries) voidsetDatasetsToAverage(List<String> datasetsToAverage) voidsetFrameTimeFieldName(String timeframeFieldName) voidsetGroupSpectrumNumber(int groupNumber, int spectrumNumber) voidsetNamesForDefaultNXData(List<String> namesForDefaultNXData) voidsetNumReadoutsPerSpectrum(int numReadoutsPerSpectrum) voidsetReverseDetectorReadout(boolean reverseDetectorReadout) voidsetScanAxis(ContinuouslyScannable scanAxis) voidsetStartTime(long startTimeUtcMillis) Absolute start time of first spectrum, measured UTC in milliseconds.voidsetXspress3FileReader(SwmrFileReader xspress3FileReader)
-
Field Details
-
MOTOR_PARAMS_COLUMN_NAME
- See Also:
-
TIME_COLUMN_NAME
- See Also:
-
TIME_UTC_COLUMN_NAME
- See Also:
-
TOPUP_FIELD_NAME
- See Also:
-
TIME_BETWEEN_SPECTRA_COLUMN_NAME
- See Also:
-
ENERGY_COLUMN_NAME
- See Also:
-
POSITION_COLUMN_NAME
- See Also:
-
FRAME_INDEX
- See Also:
-
ENERGY_UNITS
- See Also:
-
TIME_UNITS
- See Also:
-
COUNT_UNITS
- See Also:
-
INDEX_UNITS
- See Also:
-
POSITION_UNITS
- See Also:
-
I0_LABEL
- See Also:
-
FF_SUM_IO_NAME
- See Also:
-
FF_SUM_NAME
- See Also:
-
SPECTRUM_INDEX
- See Also:
-
SPECTRUM_GROUP
- See Also:
-
-
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:
URISyntaxExceptionDeviceExceptionNexusException
-
addDataAtEndOfScan
public void addDataAtEndOfScan(String filename, BufferedDetector[] bufferedDetectors) throws URISyntaxException, DeviceException, NexusException, org.eclipse.january.DatasetException - Throws:
URISyntaxExceptionDeviceExceptionNexusExceptionorg.eclipse.january.DatasetException
-
createYamlMap
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
-
isReverseDetectorReadout
public boolean isReverseDetectorReadout() -
setReverseDetectorReadout
public void setReverseDetectorReadout(boolean reverseDetectorReadout) -
addFFSumI0Data
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 callingstoreI0Data(INexusTree).- Parameters:
detTree-
-
addTopupData
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
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:
ExceptionDeviceException
-
getFrameTimeFieldName
-
setFrameTimeFieldName
-
getScanAxis
-
setScanAxis
-
getXspress3FileReader
-
getNumReadoutsPerSpectrum
public int getNumReadoutsPerSpectrum() -
setNumReadoutsPerSpectrum
public void setNumReadoutsPerSpectrum(int numReadoutsPerSpectrum) -
setXspress3FileReader
-
setStartTime
public void setStartTime(long startTimeUtcMillis) Absolute start time of first spectrum, measured UTC in milliseconds.- Parameters:
startTimeUtcMillis-
-
getStartTime
public long getStartTime() -
getNamesForDefaultNXData
-
setNamesForDefaultNXData
-
getDatasetsToAverage
-
setDatasetsToAverage
-
clearRunningAverages
public void clearRunningAverages() -
setGroupSpectrumNumber
public void setGroupSpectrumNumber(int groupNumber, int spectrumNumber)
-