3.2.1.2. NXDL: Data Types and Units¶
Data Types allowed in NXDL specifications¶
Data types for use in NXDL
describe the expected type of data for a NeXus field. These terms are very
broad. More specific terms are used in actual NeXus data files that describe
size and array dimensions. In addition to the types in the following table, the
NAPI
type is defined when one wishes to permit a field
with any of these data types.
ISO8601: | ISO8601 date/time stamp |
---|
NX_BINARY: | any representation of binary data - if text, line terminator is [CR][LF] |
---|
NX_BOOLEAN: | true/false value ( true | 1 | false | 0 ) |
---|
NX_CHAR: | The preferred string representation is UTF-8.
Both fixed-length strings and variable-length strings are valid.
String arrays cannot be used where only a string is expected
(title, start_time, end_time, NX_class attribute,...).
Fields or attributes requiring the use of string arrays will be
clearly marked as such (like the NXdata attribute auxiliary_signals). |
---|
NX_DATE_TIME: | alias for the ISO8601 date/time stamp |
---|
NX_FLOAT: | any representation of a floating point number |
---|
NX_INT: | any representation of an integer number |
---|
NX_NUMBER: | any valid NeXus number representation |
---|
NX_POSINT: | any representation of a positive integer number (greater than zero) |
---|
NX_UINT: | any representation of an unsigned integer number (includes zero) |
---|
Unit Categories allowed in NXDL specifications¶
Unit categories in NXDL specifications describe the expected type of units for a NeXus field. They should describe valid units consistent with the NeXus units section. The values for unit categories are restricted (by an enumeration) to the following table.
NX_ANGLE: | units of angle, example(s): m |
---|
NX_ANY: | units for things like logs that aren’t picky on units |
---|
NX_AREA: | units of area, example(s): m^2 | barns |
---|
NX_CHARGE: | units of electrical charge, example(s): c |
---|
NX_CROSS_SECTION: | |
---|---|
units of area (alias of NX_AREA), example(s): barn |
NX_CURRENT: | units of electrical current, example(s): A |
---|
NX_DIMENSIONLESS: | |
---|---|
|
NX_EMITTANCE: |
|
---|
NX_ENERGY: | units of energy, example(s): J | keV |
---|
NX_FLUX: | units of flux, example(s): 1/s/cm^2 |
---|
NX_FREQUENCY: | units of frequency, example(s): Hz |
---|
NX_LENGTH: | units of length, example(s): m |
---|
NX_MASS: | units of mass, example(s): g |
---|
NX_MASS_DENSITY: | |
---|---|
units of mass density, example(s): g/cm^3 |
NX_MOLECULAR_WEIGHT: | |
---|---|
units of molecular weight, example(s): g/mol |
NX_PERIOD: |
|
---|
NX_PER_AREA: | units of 1/length^2, example(s): 1/m^2 |
---|
NX_PER_LENGTH: | units of 1/length, example(s): 1/m |
---|
NX_POWER: | units of power, example(s): W |
---|
NX_PRESSURE: | units of pressure, example(s): Pa |
---|
NX_PULSES: | units of clock pulses (alias to NX_NUMBER) |
---|
NX_SCATTERING_LENGTH_DENSITY: | |
---|---|
units of scattering length density, example(s): m/m^3 |
NX_SOLID_ANGLE: | units of solid angle, example(s): sr | steradian |
---|
NX_TEMPERATURE: | units of temperature, example(s): K |
---|
NX_TIME: | units of time, example(s): s |
---|
NX_TIME_OF_FLIGHT: | |
---|---|
|
NX_TRANSFORMATION: | |
---|---|
units of the specified transformation could be any of these: There will be one or more transformations defined by one or more fields
for each transformation. The units type
|
NX_UNITLESS: | for fields that don’t have a unit (e.g. hkl) so that they don’t inherit the wrong units (NOTE: not the same as NX_DIMENSIONLESS) |
---|
NX_VOLTAGE: | units of voltage, example(s): V |
---|
NX_VOLUME: | units of volume, example(s): m3 |
---|
NX_WAVELENGTH: | units of wavelength, example(s): angstrom |
---|
NX_WAVENUMBER: | units of wavenumber or Q, example(s): 1/nm | 1/angstrom |
---|