General Tree Structure#

The general tree structure (with parts described in the sections below) will follow this outline:

HDF5 address

structure

reference

/

(NXroot)

SPEC Data File

/@default

NX_CHAR

SPEC Data File

/@SPEC_num_headers

NX_INT

SPEC Data File

/SCAN

NXentry

Scan

/SCAN/@default

NX_CHAR

Scan

/SCAN/command

NX_CHAR

Scan

/SCAN/comments

NX_CHAR

Scan

/SCAN/counter_cross_reference

NXnote

Counters

/SCAN/counting_basis

NX_CHAR

Scan

/SCAN/data

NXdata

Scan Data

/SCAN/data/@axes

NX_CHAR

Scan Data

/SCAN/data/@signal

NX_CHAR

Scan Data

/SCAN/data/{AXIS}

NX_NUMBER

Scan Data

/SCAN/data/{COLUMN}

NX_NUMBER

Scan Data

/SCAN/data/{SIGNAL}

NX_NUMBER

Scan Data

/SCAN/date

NX_DATE_TIME

Scan

/SCAN/DEGC_SP

NX_NUMBER

Scan

/SCAN/experiment_description

NX_CHAR

Scan

/SCAN/G

NXnote

Geometry

/SCAN/G/G0

NX_NUMBER[]

Geometry

/SCAN/G/G1

NX_NUMBER[]

Geometry

/SCAN/G/G3

NX_NUMBER[]

Geometry

/SCAN/G/G4

NX_NUMBER[]

Geometry

/SCAN/instrument

NXinstrument

Instrument

/SCAN/instrument/diffractometer

NXnote

Geometry

/SCAN/instrument/geometry_parameters

NXnote

link to /SCAN/instrument/diffractometer

/SCAN/instrument/name

NX_CHAR

Geometry

/SCAN/instrument/monochromator

NXmonochromator

Geometry

/SCAN/instrument/monochromator/wavelength

NX_NUMBER

Geometry

/SCAN/instrument/positioners

NXnote

Positioners

/SCAN/M

NX_NUMBER

Scan

/SCAN/MCA

NXnote

Multi-channel analyzer

/SCAN/metadata

NXnote

UNICAT-style metadata

/SCAN/monitor

NXmonitor

Scan

/SCAN/monitor/preset

NX_NUMBER

Scan

/SCAN/positioner_cross_reference

NXnote

Positioners

/SCAN/positioners

NXnote

Positioners

/SCAN/positioners/{POSITIONER}

NXpositioner

Positioners

/SCAN/Q

NX_NUMBER[3]

Geometry

/SCAN/sample

NXsample

Sample

/SCAN/sample/diffractometer_mode

NX_CHAR

Geometry

/SCAN/sample/diffractometer_sector

NX_NUMBER

Geometry

/SCAN/sample/ub_matrix

NX_NUMBER[3,3]

Geometry

/SCAN/sample/unit_cell_a

NX_NUMBER

only twoc geometry

/SCAN/sample/unit_cell_abc

NX_NUMBER[3]

Geometry

/SCAN/sample/unit_cell_alphabetagamma

NX_NUMBER[3]

Geometry

/SCAN/sample/unit_cell_b

NX_NUMBER

only twoc geometry

/SCAN/sample/unit_cell_gamma

NX_NUMBER

only twoc geometry

/SCAN/sample/unit_cell

NX_NUMBER[6]

Geometry

/SCAN/sample/beam

NXbeam

Geometry

/SCAN/sample/beam/incident_wavelength

NX_NUMBER

Geometry

/SCAN/sample/or0

NXnote

Geometry

/SCAN/sample/or0/{ANGLE}

NX_NUMBER

Geometry

/SCAN/sample/or0/{HKL}

NX_NUMBER

Geometry

/SCAN/sample/or0/wavelength

NX_NUMBER

Geometry

/SCAN/sample/or1

NXnote

Geometry

/SCAN/sample/or1/{ANGLE}

NX_NUMBER

Geometry

/SCAN/sample/or1/{HKL}

NX_NUMBER

Geometry

/SCAN/sample/or1/wavelength

NX_NUMBER

Geometry

/SCAN/sample/temperature

NXlog

Temperature

/SCAN/scan_number

NX_INT

Scan

/SCAN/T

NX_NUMBER

Scan

/SCAN/TEMP_SP

NX_NUMBER

Scan

/SCAN/title

NX_CHAR

Scan

/SCAN/{UNRECOGNIZED}

NXnote

Unrecognized Control Line

/SCAN/UserReserved

NXnote

SPEC UserReserved

/SCAN/UXML

NXnote

UXML

NeXus base classes#

These classes are used by spec2nexus to structure a NeXus HDF5 data file.

Visit the NeXus documentation for a complete list of NeXus classes: https://manual.nexusformat.org/classes/index.html

NeXus data types#

These data types are used by spec2nexus to structure a NeXus HDF5 data file.

type

description

NX_CHAR

string representation (UTF-8)

NX_DATE_TIME

ISO8601 date/time representation

NX_INT

any representation of an integer number

NX_NUMBER

any valid NeXus number representation (scaler or array)

Visit the NeXus documentation for a complete list of NeXus data types (and unit categories): https://manual.nexusformat.org/nxdl-types.html