3.3.3.104. NXxas_herfd

Status:

application definition (contribution), extends NXxas

Description:

High-energy resolution fluorescence detection (HERFD) is a particular ...

High-energy resolution fluorescence detection (HERFD) is a particular case of partial fluorescence yield measured with a crystal analyzer spectrometer with an energy bandwidth of approximately 1-2 eV.

The HERFD spectrum corresponds to a constant-emission-energy cut through the Resonant Inelastic X-ray Scattering (RIXS) plane. The spectral shape depends on the emission energy, making the emission line and emission energy mandatory metadata.

The top-level intensity field stores the ratio \(I_f/I_0\), where \(I_f\) is the fluorescence intensity diffracted by the crystal analyzer(s) and \(I_0\) is the incident beam intensity. This ratio is proportional to the absorption coefficient:

\[\mu(E) \propto I_f/I_0\]

The spectrometer uses Rowland circle geometry (Johann or Johansson type). Multiple crystal analyzers may be arranged at different horizontal angles around the sample to increase solid angle coverage.

When the raw detector data and processing steps are available, they can be stored in the optional NXinstrument, NXcollection, and NXprocess groups, enabling full reproducibility of the data reduction.

Symbols:

The symbol(s) listed here will be used below to coordinate datasets ...

The symbol(s) listed here will be used below to coordinate datasets with the same shape.

nEnergy: Number of energy data points

nAnalyzers: Number of crystal analyzers in the spectrometer

Groups cited:

NXbeam, NXcollection, NXcoordinate_system, NXcrystal, NXdetector, NXemission_line, NXentry, NXinstrument, NXnote, NXprocess, NXsample, NXsource, NXtransformations

Structure:

ENTRY: (required) NXentry

definition: (required) NX_CHAR

Official NeXus NXDL schema to which this file conforms. ...

Official NeXus NXDL schema to which this file conforms.

Obligatory value: NXxas_herfd

intensity: (required) NX_FLOAT (Rank: 1, Dimensions: [nEnergy]) {units=NX_ANY}

The ratio :math:`I_f/I_0`, where :math:`I_f` is the ...

The ratio \(I_f/I_0\), where \(I_f\) is the fluorescence intensity diffracted by the crystal analyzer(s) and \(I_0\) is the incident beam intensity.

emission_line: (required) NXemission_line

The emission line at which the HERFD spectrum is measured.

name: (required) NX_CHAR

emission_energy: (required) NX_FLOAT {units=NX_ENERGY}

The emission energy at which the spectrometer is set.

beamline_coordinate_system: (optional) NXcoordinate_system

Beamline coordinate system with the sample at the origin: ...

Beamline coordinate system with the sample at the origin: x along the beam, y horizontal, z opposite to gravity.

origin: (required) NX_CHAR

Obligatory value: sample

x_direction: (required) NX_CHAR

Obligatory value: along incident beam

y_direction: (required) NX_CHAR

Obligatory value: horizontal perpendicular to beam

z_direction: (required) NX_CHAR

Obligatory value: opposite to gravity

x: (required) NX_NUMBER {units=NX_LENGTH}

Obligatory value: [1, 0, 0]

y: (required) NX_NUMBER {units=NX_LENGTH}

Obligatory value: [0, 1, 0]

z: (required) NX_NUMBER {units=NX_LENGTH}

Obligatory value: [0, 0, 1]

depends_on: (required) NX_CHAR

Should point to ...

Should point to transformations/beam.

transformations: (required) NXtransformations

Two rotations relating the beamline frame to ...

Two rotations relating the beamline frame to the NeXus laboratory frame, plus direction vectors labeling beam and gravity.

beam: (required) NX_NUMBER {units=NX_UNITLESS}

Direction of the incident beam in the beamline ...

Direction of the incident beam in the beamline coordinate system.

@vector: (required) NX_NUMBER

Obligatory value: [1, 0, 0]

@depends_on: (required) NX_CHAR

Obligatory value: gravity

gravity: (required) NX_NUMBER {units=NX_UNITLESS}

Direction of gravity in the beamline coordinate ...

Direction of gravity in the beamline coordinate system.

@vector: (required) NX_NUMBER

Obligatory value: [0, 0, -1]

@depends_on: (required) NX_CHAR

Obligatory value: rotate_gravity_to_minus_y

rotate_gravity_to_minus_y: (required) NX_NUMBER {units=NX_ANGLE}

Active rotation moving gravity from the ...

Active rotation moving gravity from the beamline direction (-z) to the NeXus direction (-y).

@transformation_type: (required) NX_CHAR

Obligatory value: rotation

@vector: (required) NX_NUMBER

Obligatory value: [1, 0, 0]

@depends_on: (required) NX_CHAR

Obligatory value: rotate_beam_to_plus_z

rotate_beam_to_plus_z: (required) NX_NUMBER {units=NX_ANGLE}

Active rotation moving the beam from the ...

Active rotation moving the beam from the beamline direction (+x) to the NeXus direction (+z).

@transformation_type: (required) NX_CHAR

Obligatory value: rotation

@vector: (required) NX_NUMBER

Obligatory value: [0, 1, 0]

@depends_on: (required) NX_CHAR

Should point to ``.`` (the NeXus laboratory ...

Should point to . (the NeXus laboratory frame).

SAMPLE: (required) NXsample

depends_on: (optional) NX_CHAR

The sample is at the origin of the beamline ...

The sample is at the origin of the beamline coordinate system, rotated about the vertical axis. Should point to transformations/sample_rotation.

transformations: (optional) NXtransformations

Orientation of the sample in the beamline ...

Orientation of the sample in the beamline coordinate system.

sample_rotation: (required) NX_NUMBER {units=NX_ANGLE}

Rotation of the sample about the vertical axis, ...

Rotation of the sample about the vertical axis, orienting the sample surface between the incident beam and the crystal analyzers.

@transformation_type: (required) NX_CHAR

Obligatory value: rotation

@vector: (required) NX_NUMBER

Obligatory value: [0, 0, 1]

@depends_on: (required) NX_CHAR

Should point to ...

Should point to /entry/beamline_coordinate_system.

INSTRUMENT: (optional) NXinstrument

beam: (optional) NXbeam

The incident X-ray beam.

depends_on: (optional) NX_CHAR

Should point to ...

Should point to transformations/beam_direction.

transformations: (optional) NXtransformations

beam_direction: (required) NX_NUMBER {units=NX_UNITLESS}

Beam direction in the beamline coordinate ...

Beam direction in the beamline coordinate system. The beam travels along +x.

@vector: (required) NX_NUMBER

Obligatory value: [1, 0, 0]

@depends_on: (required) NX_CHAR

Should point to ...

Should point to /entry/beamline_coordinate_system.

SOURCE: (optional) NXsource

type: (required) NX_CHAR

name: (required) NX_CHAR

probe: (required) NX_CHAR

Obligatory value: x-ray

i0: (recommended) NXdetector

Detector measuring the incident beam intensity ...

Detector measuring the incident beam intensity \(I_0\), positioned upstream of the sample along the beam direction.

data: (required) NX_NUMBER (Rank: 1, Dimensions: [nEnergy])

depends_on: (optional) NX_CHAR

Should point to ...

Should point to transformations/i0_distance.

transformations: (optional) NXtransformations

i0_distance: (required) NX_NUMBER {units=NX_LENGTH}

Distance from the sample to the I0 detector, ...

Distance from the sample to the I0 detector, measured upstream along the beam (negative x direction in the beamline frame).

@transformation_type: (required) NX_CHAR

Obligatory value: translation

@vector: (required) NX_NUMBER

Obligatory value: [-1, 0, 0]

@depends_on: (required) NX_CHAR

Should point to ...

Should point to /entry/beamline_coordinate_system.

analyzerCRYSTAL: (required) NXcrystal

Crystal analyzer on the Rowland circle. For ...

Crystal analyzer on the Rowland circle. For multi-crystal spectrometers, use one group per crystal (e.g. analyzer1, analyzer2).

type: (optional) NX_CHAR

Type or material of the analyzer crystal ...

Type or material of the analyzer crystal (Si, Ge, etc.).

reflection: (optional) NX_INT (Rank: 1, Dimensions: [3]) {units=NX_UNITLESS}

Miller indices (hkl) values of the nominal ...

Miller indices (hkl) values of the nominal reflection.

d_spacing: (optional) NX_FLOAT {units=NX_LENGTH}

The spacing between crystal planes of the ...

The spacing between crystal planes of the reflection.

bragg_angle: (optional) NX_FLOAT {units=NX_ANGLE}

Bragg angle :math:`\theta_B` of the nominal ...

Bragg angle \(\theta_B\) of the nominal reflection.

bending_radius: (optional) NX_FLOAT {units=NX_LENGTH}

Bending radius of the spherically bent crystal ...

Bending radius of the spherically bent crystal analyzer. In Johann geometry this is \(2R_R\) (twice the Rowland radius).

rowland_radius: (optional) NX_FLOAT {units=NX_LENGTH}

Radius of the Rowland circle :math:`R_R`. The ...

Radius of the Rowland circle \(R_R\). The sample, crystal center, and detector focus all lie on this circle.

energy_resolution: (optional) NX_FLOAT {units=NX_ENERGY}

The energy bandwidth or resolution of the crystal ...

The energy bandwidth or resolution of the crystal analyzer.

geometry_type: (optional) NX_CHAR

The type of crystal analyzer geometry. ...

The type of crystal analyzer geometry.

Any of these values: Johann | Johansson

diameter: (optional) NX_FLOAT {units=NX_LENGTH}

Diameter of the crystal analyzer wafer.

depends_on: (optional) NX_CHAR

Should point to the last transformation in the ...

Should point to the last transformation in the chain, i.e. transformations/analyzer_distance.

transformations: (optional) NXtransformations

Transformation chain placing the analyzer relative ...

Transformation chain placing the analyzer relative to the sample: azimuthal angle, polar angle, then distance.

analyzer_distance: (required) NX_NUMBER {units=NX_LENGTH}

Sample-to-analyzer distance.

@transformation_type: (required) NX_CHAR

Obligatory value: translation

@vector: (required) NX_NUMBER

Obligatory value: [1, 0, 0]

@depends_on: (required) NX_CHAR

Obligatory value: analyzer_polar_angle

analyzer_polar_angle: (required) NX_NUMBER {units=NX_ANGLE}

Polar angle of the analyzer in the vertical ...

Polar angle of the analyzer in the vertical Rowland plane. Elevation from the horizontal beam plane to the sample-analyzer direction.

@transformation_type: (required) NX_CHAR

Obligatory value: rotation

@vector: (required) NX_NUMBER

Obligatory value: [0, -1, 0]

@depends_on: (required) NX_CHAR

Obligatory value: analyzer_azimuthal_angle

analyzer_azimuthal_angle: (required) NX_NUMBER {units=NX_ANGLE}

Azimuthal (horizontal) angle of the ...

Azimuthal (horizontal) angle of the spectrometer arm from the incident beam direction. Rotation around the vertical z-axis. Typically around 90 degrees to minimize elastic scattering.

@transformation_type: (required) NX_CHAR

Obligatory value: rotation

@vector: (required) NX_NUMBER

Obligatory value: [0, 0, 1]

@depends_on: (required) NX_CHAR

Should point to ...

Should point to /entry/beamline_coordinate_system.

ifluor: (recommended) NXdetector

Detector measuring the fluorescence intensity ...

Detector measuring the fluorescence intensity \(I_f\) diffracted by the crystal analyzer(s).

data: (required) NX_NUMBER (Rank: 1, Dimensions: [nEnergy])

depends_on: (optional) NX_CHAR

Should point to the last transformation in the ...

Should point to the last transformation in the chain, i.e. transformations/if_distance.

transformations: (optional) NXtransformations

Transformation chain placing the detector relative ...

Transformation chain placing the detector relative to the sample: azimuthal angle, polar angle, then distance.

if_distance: (required) NX_NUMBER {units=NX_LENGTH}

Distance from the sample to the detector.

@transformation_type: (required) NX_CHAR

Obligatory value: translation

@vector: (required) NX_NUMBER

Obligatory value: [1, 0, 0]

@depends_on: (required) NX_CHAR

Obligatory value: if_polar_angle

if_polar_angle: (required) NX_NUMBER {units=NX_ANGLE}

Polar angle of the detector in the vertical ...

Polar angle of the detector in the vertical Rowland plane.

@transformation_type: (required) NX_CHAR

Obligatory value: rotation

@vector: (required) NX_NUMBER

Obligatory value: [0, -1, 0]

@depends_on: (required) NX_CHAR

Obligatory value: if_azimuthal_angle

if_azimuthal_angle: (required) NX_NUMBER {units=NX_ANGLE}

Azimuthal (horizontal) angle of the detector ...

Azimuthal (horizontal) angle of the detector from the incident beam direction. Should match the analyzer azimuthal angle for on-Rowland focusing.

@transformation_type: (required) NX_CHAR

Obligatory value: rotation

@vector: (required) NX_NUMBER

Obligatory value: [0, 0, 1]

@depends_on: (required) NX_CHAR

Should point to ...

Should point to /entry/beamline_coordinate_system.

COLLECTION: (optional) NXcollection

Raw data as written by the acquisition software, ...

Raw data as written by the acquisition software, preserved without modification to allow independent reprocessing.

raw_data: (optional) NX_FLOAT (Rank: 2, Dimensions: [nEnergy, nAnalyzers])

Raw fluorescence counts per incident energy point for ...

Raw fluorescence counts per incident energy point for each crystal analyzer, before normalization by the incident beam intensity and summation over analyzers. Axis 0 is the energy scan axis; axis 1 enumerates the crystal analyzers, in the same order as the analyzerCRYSTAL groups.

PROCESS: (optional) NXprocess

Description of how :ref:`intensity ...

Description of how intensity was obtained from the raw detector data (i0, if).

program: (optional) NX_CHAR

Name of the program used for processing.

version: (optional) NX_CHAR

Version of the program used for processing.

date: (optional) NX_DATE_TIME

Date and time of processing.

note: (optional) NXnote

Python code reproducing the top-level :ref:`intensity ...

Python code reproducing the top-level intensity from the raw data.

type: (required) NX_CHAR

Mime content type of the note data field. ...

Mime content type of the note data field.

Obligatory value: text/x-python

data: (required) NX_CHAR

The Python code.

Hypertext Anchors

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

NXDL Source:

https://github.com/nexusformat/definitions/blob/main/contributed_definitions/NXxas_herfd.nxdl.xml