NXbeam

Status:

base class, extends NXobject

Description:

Properties of the neutron or X-ray beam at a given location.

It will be referenced by beamline component groups within the NXinstrument group or by the NXsample group. Note that variables such as the incident energy could be scalar values or arrays. This group is especially valuable in storing the results of instrument simulations in which it is useful to specify the beam profile, time distribution etc. at each beamline component. Otherwise, its most likely use is in the NXsample group in which it defines the results of the neutron scattering by the sample, e.g., energy transfer, polarizations.

Symbols:

The symbols used in the schema to specify e.g. dimensions of arrays

nx: Number of pixels of the horizontal axis (e.g. delay) of a FROG trace

ny: Number of pixels of the vertical axis (e.g. frequency) of a FROG trace

Groups cited:

NXdata

Structure:

@default: (optional) NX_CHAR

Declares which child group contains a path leading to a NXdata group.

It is recommended (as of NIAC2014) to use this attribute to help define the path to the default dataset to be plotted. See https://www.nexusformat.org/2014_How_to_find_default_data.html for a summary of the discussion.

distance: (optional) NX_FLOAT {units=NX_LENGTH}

Distance from sample

incident_energy: (optional) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_ENERGY}

In the case of a monchromatic beam this is the scalar energy. Several other use cases are permitted, depending on the presence of other incident_energy_X fields.

  • In the case of a polychromatic beam this is an array of length m of energies, with the relative weights in incident_energy_weights.

  • In the case of a monochromatic beam that varies shot-to-shot, this is an array of energies, one for each recorded shot. Here, incident_energy_weights and incident_energy_spread are not set.

  • In the case of a polychromatic beam that varies shot-to-shot, this is an array of length m with the relative weights in incident_energy_weights as a 2D array.

  • In the case of a polychromatic beam that varies shot-to-shot and where the channels also vary, this is a 2D array of dimensions nP by m (slow to fast) with the relative weights in incident_energy_weights as a 2D array.

Note, variants are a good way to represent several of these use cases in a single dataset, e.g. if a calibrated, single-value energy value is available along with the original spectrum from which it was calibrated.

incident_energy_spread: (optional) NX_NUMBER {units=NX_ENERGY}

The energy spread FWHM for the corresponding energy(ies) in incident_energy. In the case of shot-to-shot variation in the energy spread, this is a 2D array of dimension nP by m (slow to fast) of the spreads of the corresponding wavelength in incident_wavelength.

incident_energy_weights: (optional) NX_NUMBER {units=NX_ENERGY}

In the case of a polychromatic beam this is an array of length m of the relative weights of the corresponding energies in incident_energy. In the case of a polychromatic beam that varies shot-to-shot, this is a 2D array of dimensions np by m (slow to fast) of the relative weights of the corresponding energies in incident_energy.

final_energy: (optional) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_ENERGY}

Energy on leaving beamline component

energy_transfer: (optional) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_ENERGY}

Energy change caused by beamline component

incident_wavelength: (optional) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_WAVELENGTH}

In the case of a monchromatic beam this is the scalar wavelength. Several other use cases are permitted, depending on the presence of other incident_wavelength_X fields.

  • In the case of a polychromatic beam this is an array of length m of wavelengths, with the relative weights in incident_wavelength_weights.

  • In the case of a monochromatic beam that varies shot-to-shot, this is an array of wavelengths, one for each recorded shot. Here, incident_wavelength_weights and incident_wavelength_spread are not set.

  • In the case of a polychromatic beam that varies shot-to-shot, this is an array of length m with the relative weights in incident_wavelength_weights as a 2D array.

  • In the case of a polychromatic beam that varies shot-to-shot and where the channels also vary, this is a 2D array of dimensions nP by m (slow to fast) with the relative weights in incident_wavelength_weights as a 2D array.

Note, variants are a good way to represent several of these use cases in a single dataset, e.g. if a calibrated, single-value wavelength value is available along with the original spectrum from which it was calibrated.

incident_wavelength_spread: (optional) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_WAVELENGTH}

Wavelength spread FWHM on entering component

incident_beam_divergence: (optional) NX_FLOAT (Rank: 2, Dimensions: [2, j]) {units=NX_ANGLE}

Divergence of beam entering this component

extent: (optional) NX_FLOAT (Rank: 2, Dimensions: [2, j]) {units=NX_LENGTH}

Size of the beam entering this component

final_wavelength: (optional) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_WAVELENGTH}

Wavelength on leaving beamline component

incident_polarization: (optional) NX_FLOAT (Rank: 1, Dimensions: [4]) {units=NX_ANY}

Incident polarization as a Stokes vector

@units: (optional) NX_CHAR

The units for this observable are not included in the NIAC list. Responsibility on correct formatting and parsing is handed to the user by using ‘NX_ANY’. Correct parsing can still be implemented by using this attribute.

Fill with:
  • The unit unidata symbol if the unit has one (Example: ‘T’ for the unit of magnetic flux density tesla).

  • The unit unidata name if the unit has a name (Example: ‘farad’ for capacitance).

  • A string describing the units according to unidata unit operation notation, if the unit is a complex combination of named units and does not have a name.

Example: for lightsource brilliance (SI) ‘1/(s.mm2.mrad2)’. Here: SI units are ‘V2/m2’.

final_polarization: (optional) NX_FLOAT (Rank: 1, Dimensions: [4]) {units=NX_ANY}

Polarization as Stokes vector on leaving beamline component

@units: (optional) NX_CHAR

Here: SI units are ‘V2/m2’.

final_wavelength_spread: (optional) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_WAVELENGTH}

Wavelength spread FWHM of beam leaving this component

final_beam_divergence: (optional) NX_FLOAT (Rank: 2, Dimensions: [2, j]) {units=NX_ANGLE}

Divergence FWHM of beam leaving this component

flux: (optional) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_FLUX}

flux incident on beam plane area

pulse_energy: (optional) NX_FLOAT {units=NX_ENERGY}

Energy of a single pulse at the diagnostic point

average_power: (optional) NX_FLOAT {units=NX_POWER}

Average power at the diagnostic point

fluence: (optional) NX_FLOAT {units=NX_ANY}

Incident fluence at the diagnostic point

@units: (optional) NX_CHAR

Here: SI units are ‘’J/m2’’, customary ‘’mJ/cm2’’.

pulse_duration: (optional) NX_FLOAT {units=NX_TIME}

FWHM duration of the pulses at the diagnostic point

frog_trace: (optional) NX_FLOAT (Rank: 2, Dimensions: [nx, ny])

FROG trace of the pulse.

frog_delays: (optional) NX_FLOAT (Rank: 1, Dimensions: [nx]) {units=NX_TIME}

Horizontal axis of a FROG trace, i.e. delay.

frog_frequencies: (optional) NX_FLOAT (Rank: 1, Dimensions: [ny]) {units=NX_FREQUENCY}

Vertical axis of a FROG trace, i.e. frequency.

chirp_type: (optional) NX_CHAR

The type of chirp implemented

chirp_GDD: (optional) NX_FLOAT {units=NX_TIME}

Group delay dispersion of the pulse for linear chirp

DATA: (optional) NXdata

Distribution of beam with respect to relevant variable e.g. wavelength. This is mainly useful for simulations which need to store plottable information at each beamline component.

Hypertext Anchors

List of hypertext anchors for all groups, fields, attributes, and links defined in this class.

NXDL Source:

https://github.com/FAIRmat-Experimental/nexus_definitions/tree/fairmat/contributed_definitions/NXbeam.nxdl.xml