diff --git a/base_classes/NXsample.nxdl.xml b/base_classes/NXsample.nxdl.xml
index 3ac357d261..65bd90b83d 100644
--- a/base_classes/NXsample.nxdl.xml
+++ b/base_classes/NXsample.nxdl.xml
@@ -486,6 +486,12 @@
This group describes the shape of the sample
+
+
+ Physical form of the sample material.
+ Examples include single crystal, foil, pellet, powder, thin film, disc, foam, gas, liquid, amorphous.
+
+
If the sample is a single crystal, add description of single crystal and unit
diff --git a/base_classes/nyaml/NXdetector.yaml b/base_classes/nyaml/NXdetector.yaml
index 12df646e15..7b1978a75a 100644
--- a/base_classes/nyaml/NXdetector.yaml
+++ b/base_classes/nyaml/NXdetector.yaml
@@ -753,7 +753,7 @@ type: group
other component groups.
# ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++
-# cf337a792e12304ca6fa5767928b3a58b6527152c48a24d0406e227efc050cb7
+# c0122bf1b36ed05ee0424397d2f8d0ca22beb2fc2d5d816a37829403a91b104b
#
#
#
-
+
The symbols used in the schema to specify e.g. dimensions of arrays
@@ -103,9 +103,23 @@
-
+
A description of the procedures employed.
+
+
+ File containing the input data for calibration.
+
+
+
+
+ Mapping data for calibration.
+
+ This can be used to map data points from uncalibrated
+ to calibrated values, e.g., by multiplying each point by the
+ corresponding point in the mapping data.
+
+
diff --git a/contributed_definitions/NXelectron_level.nxdl.xml b/contributed_definitions/NXelectron_level.nxdl.xml
new file mode 100644
index 0000000000..1bc63a6035
--- /dev/null
+++ b/contributed_definitions/NXelectron_level.nxdl.xml
@@ -0,0 +1,918 @@
+
+
+
+
+
+ Electronic level probed in X-ray spectroscopy or resonance experiments.
+
+
+
+ Symbol of the chemical element.
+
+ For each, the atomic number, common English name, and standard atomic weight are also given.
+
+
+ -
+
+ Z=1, name="hydrogen", standard_atomic_weight=1.0078
+
+
+ -
+
+ Z=2, name="helium", standard_atomic_weight=4.0026
+
+
+ -
+
+ Z=3, name="lithium", standard_atomic_weight=6.94
+
+
+ -
+
+ Z=4, name="beryllium", standard_atomic_weight=9.0122
+
+
+ -
+
+ Z=5, name="boron", standard_atomic_weight=10.81
+
+
+ -
+
+ Z=6, name="carbon", standard_atomic_weight=12.011
+
+
+ -
+
+ Z=7, name="nitrogen", standard_atomic_weight=14.007
+
+
+ -
+
+ Z=8, name="oxygen", standard_atomic_weight=15.999
+
+
+ -
+
+ Z=9, name="fluorine", standard_atomic_weight=18.9984
+
+
+ -
+
+ Z=10, name="neon", standard_atomic_weight=20.1797
+
+
+ -
+
+ Z=11, name="sodium", standard_atomic_weight=22.9898
+
+
+ -
+
+ Z=12, name="magnesium", standard_atomic_weight=24.305
+
+
+ -
+
+ Z=13, name="aluminum", standard_atomic_weight=26.9815
+
+
+ -
+
+ Z=14, name="silicon", standard_atomic_weight=28.085
+
+
+ -
+
+ Z=15, name="phosphorus", standard_atomic_weight=30.9738
+
+
+ -
+
+ Z=16, name="sulfur", standard_atomic_weight=32.06
+
+
+ -
+
+ Z=17, name="chlorine", standard_atomic_weight=35.453
+
+
+ -
+
+ Z=18, name="argon", standard_atomic_weight=39.948
+
+
+ -
+
+ Z=19, name="potassium", standard_atomic_weight=39.0983
+
+
+ -
+
+ Z=20, name="calcium", standard_atomic_weight=40.078
+
+
+ -
+
+ Z=21, name="scandium", standard_atomic_weight=44.9559
+
+
+ -
+
+ Z=22, name="titanium", standard_atomic_weight=47.867
+
+
+ -
+
+ Z=23, name="vanadium", standard_atomic_weight=50.9415
+
+
+ -
+
+ Z=24, name="chromium", standard_atomic_weight=51.996
+
+
+ -
+
+ Z=25, name="manganese", standard_atomic_weight=54.938
+
+
+ -
+
+ Z=26, name="iron", standard_atomic_weight=55.845
+
+
+ -
+
+ Z=27, name="cobalt", standard_atomic_weight=58.9332
+
+
+ -
+
+ Z=28, name="nickel", standard_atomic_weight=58.6934
+
+
+ -
+
+ Z=29, name="copper", standard_atomic_weight=63.546
+
+
+ -
+
+ Z=30, name="zinc", standard_atomic_weight=65.38
+
+
+ -
+
+ Z=31, name="gallium", standard_atomic_weight=69.72
+
+
+ -
+
+ Z=32, name="germanium", standard_atomic_weight=72.63
+
+
+ -
+
+ Z=33, name="arsenic", standard_atomic_weight=74.9216
+
+
+ -
+
+ Z=34, name="selenium", standard_atomic_weight=78.971
+
+
+ -
+
+ Z=35, name="bromine", standard_atomic_weight=79.904
+
+
+ -
+
+ Z=36, name="krypton", standard_atomic_weight=83.798
+
+
+ -
+
+ Z=37, name="rubidium", standard_atomic_weight=85.4678
+
+
+ -
+
+ Z=38, name="strontium", standard_atomic_weight=87.62
+
+
+ -
+
+ Z=39, name="yttrium", standard_atomic_weight=88.9058
+
+
+ -
+
+ Z=40, name="zirconium", standard_atomic_weight=91.224
+
+
+ -
+
+ Z=41, name="niobium", standard_atomic_weight=92.9064
+
+
+ -
+
+ Z=42, name="molybdenum", standard_atomic_weight=95.95
+
+
+ -
+
+ Z=43, name="technetium", standard_atomic_weight=97.907
+
+
+ -
+
+ Z=44, name="ruthenium", standard_atomic_weight=101.07
+
+
+ -
+
+ Z=45, name="rhodium", standard_atomic_weight=102.906
+
+
+ -
+
+ Z=46, name="palladium", standard_atomic_weight=106.42
+
+
+ -
+
+ Z=47, name="silver", standard_atomic_weight=107.868
+
+
+ -
+
+ Z=48, name="cadmium", standard_atomic_weight=112.414
+
+
+ -
+
+ Z=49, name="indium", standard_atomic_weight=114.818
+
+
+ -
+
+ Z=50, name="tin", standard_atomic_weight=118.71
+
+
+ -
+
+ Z=51, name="antimony", standard_atomic_weight=121.76
+
+
+ -
+
+ Z=52, name="tellurium", standard_atomic_weight=127.6
+
+
+ -
+
+ Z=53, name="iodine", standard_atomic_weight=126.905
+
+
+ -
+
+ Z=54, name="xenon", standard_atomic_weight=131.293
+
+
+ -
+
+ Z=55, name="cesium", standard_atomic_weight=132.905
+
+
+ -
+
+ Z=56, name="barium", standard_atomic_weight=137.327
+
+
+ -
+
+ Z=57, name="lanthanum", standard_atomic_weight=138.905
+
+
+ -
+
+ Z=58, name="cerium", standard_atomic_weight=140.116
+
+
+ -
+
+ Z=59, name="praseodymium", standard_atomic_weight=140.908
+
+
+ -
+
+ Z=60, name="neodymium", standard_atomic_weight=144.242
+
+
+ -
+
+ Z=61, name="promethium", standard_atomic_weight=145.0
+
+
+ -
+
+ Z=62, name="samarium", standard_atomic_weight=150.36
+
+
+ -
+
+ Z=63, name="europium", standard_atomic_weight=151.96
+
+
+ -
+
+ Z=64, name="gadolinium", standard_atomic_weight=157.25
+
+
+ -
+
+ Z=65, name="terbium", standard_atomic_weight=158.925
+
+
+ -
+
+ Z=66, name="dysprosium", standard_atomic_weight=162.5
+
+
+ -
+
+ Z=67, name="holmium", standard_atomic_weight=164.93
+
+
+ -
+
+ Z=68, name="erbium", standard_atomic_weight=167.259
+
+
+ -
+
+ Z=69, name="thulium", standard_atomic_weight=168.934
+
+
+ -
+
+ Z=70, name="ytterbium", standard_atomic_weight=173.045
+
+
+ -
+
+ Z=71, name="lutetium", standard_atomic_weight=174.967
+
+
+ -
+
+ Z=72, name="hafnium", standard_atomic_weight=178.49
+
+
+ -
+
+ Z=73, name="tantalum", standard_atomic_weight=180.948
+
+
+ -
+
+ Z=74, name="tungsten", standard_atomic_weight=183.84
+
+
+ -
+
+ Z=75, name="rhenium", standard_atomic_weight=186.207
+
+
+ -
+
+ Z=76, name="osmium", standard_atomic_weight=190.23
+
+
+ -
+
+ Z=77, name="iridium", standard_atomic_weight=192.217
+
+
+ -
+
+ Z=78, name="platinum", standard_atomic_weight=195.084
+
+
+ -
+
+ Z=79, name="gold", standard_atomic_weight=196.967
+
+
+ -
+
+ Z=80, name="mercury", standard_atomic_weight=200.592
+
+
+ -
+
+ Z=81, name="thallium", standard_atomic_weight=204.383
+
+
+ -
+
+ Z=82, name="lead", standard_atomic_weight=207.2
+
+
+ -
+
+ Z=83, name="bismuth", standard_atomic_weight=208.98
+
+
+ -
+
+ Z=84, name="polonium", standard_atomic_weight=209.0
+
+
+ -
+
+ Z=85, name="astatine", standard_atomic_weight=210.0
+
+
+ -
+
+ Z=86, name="radon", standard_atomic_weight=222.0
+
+
+ -
+
+ Z=87, name="francium", standard_atomic_weight=223.0
+
+
+ -
+
+ Z=88, name="radium", standard_atomic_weight=226.0
+
+
+ -
+
+ Z=89, name="actinium", standard_atomic_weight=227.0
+
+
+ -
+
+ Z=90, name="thorium", standard_atomic_weight=232.038
+
+
+ -
+
+ Z=91, name="protactinium", standard_atomic_weight=231.036
+
+
+ -
+
+ Z=92, name="uranium", standard_atomic_weight=238.029
+
+
+ -
+
+ Z=93, name="neptunium", standard_atomic_weight=237.048
+
+
+ -
+
+ Z=94, name="plutonium", standard_atomic_weight=239.052
+
+
+ -
+
+ Z=95, name="americium", standard_atomic_weight=243.0
+
+
+ -
+
+ Z=96, name="curium", standard_atomic_weight=247.0
+
+
+ -
+
+ Z=97, name="berkelium", standard_atomic_weight=247.0
+
+
+ -
+
+ Z=98, name="californium", standard_atomic_weight=251.0
+
+
+ -
+
+ Z=99, name="einsteinium", standard_atomic_weight=252
+
+
+ -
+
+ Z=100, name="fermium", standard_atomic_weight=257
+
+
+ -
+
+ Z=101, name="mendelevium", standard_atomic_weight=258
+
+
+ -
+
+ Z=102, name="nobelium", standard_atomic_weight=259
+
+
+ -
+
+ Z=103, name="lawrencium", standard_atomic_weight=266
+
+
+ -
+
+ Z=104, name="rutherfordium", standard_atomic_weight=267
+
+
+ -
+
+ Z=105, name="dubnium", standard_atomic_weight=268
+
+
+ -
+
+ Z=106, name="seaborgium", standard_atomic_weight=269
+
+
+ -
+
+ Z=107, name="bohrium", standard_atomic_weight=270
+
+
+ -
+
+ Z=108, name="hassium", standard_atomic_weight=269
+
+
+ -
+
+ Z=109, name="meitnerium", standard_atomic_weight=278
+
+
+ -
+
+ Z=110, name="darmstadtium", standard_atomic_weight=281
+
+
+ -
+
+ Z=111, name="roentgenium", standard_atomic_weight=282
+
+
+ -
+
+ Z=112, name="copernicium", standard_atomic_weight=285
+
+
+ -
+
+ Z=113, name="nihonium", standard_atomic_weight=286
+
+
+ -
+
+ Z=114, name="flerovium", standard_atomic_weight=289
+
+
+ -
+
+ Z=115, name="moscovium", standard_atomic_weight=290
+
+
+ -
+
+ Z=116, name="livermorium", standard_atomic_weight=293
+
+
+ -
+
+ Z=117, name="tennessine", standard_atomic_weight=294
+
+
+ -
+
+ Z=118, name="oganesson", standard_atomic_weight=294
+
+
+
+
+
+
+ IUPAC symbol of the electronic level.
+ For each level, the electronic orbital configuration is also given
+
+ For reference, see Jenkins, R., Manne, R., Robin, R., & Senemaud, C. (1991).
+ IUPAC—nomenclature system for x-ray spectroscopy. X-Ray Spectrometry, 20(3), 149-155.
+
+
+ -
+
+ same as 1s in level_xray
+
+
+ -
+
+ 2s
+
+
+ -
+
+ 2p_{1/2}
+
+
+ -
+
+ 2p_{3/2}
+
+
+ -
+
+ 3s
+
+
+ -
+
+ 3p_{1/2}
+
+
+ -
+
+ 3p_{3/2}
+
+
+ -
+
+ 3d_{3/2}
+
+
+ -
+
+ 3d_{5/2}
+
+
+ -
+
+ 4s
+
+
+ -
+
+ 4p_{1/2}
+
+
+ -
+
+ 4p_{3/2}
+
+
+ -
+
+ 4d_{3/2}
+
+
+ -
+
+ 4d_{5/2}
+
+
+ -
+
+ 4f_{5/2}
+
+
+ -
+
+ 4f_{7/2}
+
+
+ -
+
+ 5s
+
+
+ -
+
+ 5p_{1/2}
+
+
+ -
+
+ 5p_{3/2}
+
+
+ -
+
+ 5d_{3/2}
+
+
+ -
+
+ 5d_{5/2}
+
+
+ -
+
+ 5f_{5/2}
+
+
+ -
+
+ 5f_{7/2}
+
+
+ -
+
+ 6s
+
+
+ -
+
+ 6p_{1/2}
+
+
+ -
+
+ 6p_{3/2}
+
+
+
+
+
+
+ Electronic orbital configuration of the electronic level.
+
+
+ -
+
+ same as K in level_xray
+
+
+ -
+
+ L1
+
+
+ -
+
+ L3
+
+
+ -
+
+ M1
+
+
+ -
+
+ M2
+
+
+ -
+
+ M3
+
+
+ -
+
+ M4
+
+
+ -
+
+ M5
+
+
+ -
+
+ N1
+
+
+ -
+
+ N2
+
+
+ -
+
+ N3
+
+
+ -
+
+ N4
+
+
+ -
+
+ N5
+
+
+ -
+
+ N6
+
+
+ -
+
+ N7
+
+
+ -
+
+ O1
+
+
+ -
+
+ O2
+
+
+ -
+
+ O3
+
+
+ -
+
+ O4
+
+
+ -
+
+ O5
+
+
+ -
+
+ O6
+
+
+ -
+
+ O7
+
+
+ -
+
+ P1
+
+
+ -
+
+ P2
+
+
+ -
+
+ P3
+
+
+
+
+
+
+ description of X-ray electronic level
+
+
+
+
+ .. index:: plotting
+
+ Declares which child group contains a path leading
+ to a :ref:`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.
+
+
+
diff --git a/contributed_definitions/NXelectronanalyser.nxdl.xml b/contributed_definitions/NXelectronanalyser.nxdl.xml
index 3a7ac1db1e..4189b83d91 100644
--- a/contributed_definitions/NXelectronanalyser.nxdl.xml
+++ b/contributed_definitions/NXelectronanalyser.nxdl.xml
@@ -37,9 +37,18 @@
Number of slow axes (axes acquired scanning a physical quantity)
+
+
+ Number of data points in the transmission function.
+
+
Subclass of NXinstrument to describe a photoelectron analyser.
+
+ Refers to Term `12.59`_ of the ISO 18115-1:2023 specification.
+
+ .. _12.59: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:12.59
@@ -56,9 +65,34 @@
+
+
+ Work function of the electron analyser.
+
+ The work function of a uniform surface of a conductor is the minimum energy required to remove
+ an electron from the interior of the solid to a vacuum level immediately outside the solid surface.
+
+ The kinetic energy :math:`E_K` of a photoelectron emitted from an energy-level with binding energy
+ :math:`E_B` below the Fermi level is given by :math:`E_K = h\nu - E_B - e \phi_{\mathrm{sample}}`,
+ where :math:`\phi_{\mathrm{sample}}` is the work function of the sample surface. In PES measurements,
+ the sample and the spectrometer (with work function :math:`\phi_{\mathrm{spectr.}}`) are electrically
+ connected and therefore their Fermi levels are aligned. Due to the difference in local vacuum level
+ between the sample and spectrometer, there exists an electric potential difference (contact potential)
+ :math:`\Delta\phi = \phi_{\mathrm{sample}} - \phi_{\mathrm{spectr.}}`. The measured kinetic energy of
+ a photoelectron in PES is therefore given by
+ :math:`E_K^{\mathrm{meas.}} = h\nu - E_B + \Delta \phi = h\nu - E_B - e \phi_{\mathrm{spectr.}}`.
+ As a result, the measured kinetic energy :math:`E_K^{\mathrm{meas.}}` of a photoelectron is `independent`
+ of the sample work function. Nonetheless, the work function :math:`\phi_s` needs to be known to
+ accurately determine the binding energy scale.
+
+
Energy resolution of the electron analyser (FWHM of gaussian broadening)
+
+ Refers to Term `10.7`_ of the ISO 18115-1:2023 specification.
+
+ .. _10.7: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:10.7
@@ -74,6 +108,10 @@
Spatial resolution of the electron analyser (Airy disk radius)
+
+ Refers to Term `10.15`_ ff. of the ISO 18115-1:2023 specification.
+
+ .. _10.15: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:10.15
@@ -106,9 +144,54 @@
+
+
+ Transmission function of the electron analyser.
+
+ The transmission function (TF) specifies the detection efficiency per solid angle for electrons of
+ different kinetic energy passing through the electron analyser. It depends on the spectrometer
+ geometry as well as operation settings such as lens mode and pass energy.
+ The transmission function is usually given as kinetic energy vs. relative intensity.
+
+ The TF is used for calibration of the intensity scale in quantitative XPS. Without proper
+ transmission correction, a comparison of results measured from the same sample using different
+ operating modes for an instrument would show significant variations in atomic
+ concentrations.
+
+ Refers to Term `7.15`_ ff. of the ISO 18115-1:2023 specification.
+
+ .. _7.15: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:7.15
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Kinetic energy values
+
+
+
+
+
+
+
+ Relative transmission efficiency for the given kinetic energies
+
+
+
+
+
+
- Refers to the last transformation specifying the positon of the manipulator in
+ Refers to the last transformation specifying the position of the manipulator in
the NXtransformations chain.
diff --git a/contributed_definitions/NXenergydispersion.nxdl.xml b/contributed_definitions/NXenergydispersion.nxdl.xml
index 6487fdb2ae..ead97311db 100644
--- a/contributed_definitions/NXenergydispersion.nxdl.xml
+++ b/contributed_definitions/NXenergydispersion.nxdl.xml
@@ -36,6 +36,10 @@
Energy of the electrons on the mean path of the analyser. Pass energy for
hemispherics, drift energy for tofs.
+
+ Refers to Term `12.63`_ of the ISO 18115-1:2023 specification.
+
+ .. _12.63: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:12.63
@@ -66,6 +70,11 @@
Way of scanning the energy axis (fixed or sweep).
+
+ Refers to Terms `12.65`_ and `12.66`_ of the ISO 18115-1:2023 specification.
+
+ .. _12.65: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:12.65
+ .. _12.66: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:12.66
diff --git a/contributed_definitions/NXmanipulator.nxdl.xml b/contributed_definitions/NXmanipulator.nxdl.xml
index 52d7330f40..928bbdd773 100644
--- a/contributed_definitions/NXmanipulator.nxdl.xml
+++ b/contributed_definitions/NXmanipulator.nxdl.xml
@@ -70,7 +70,7 @@
- Possible bias of the sample with trespect to analyser ground. This field may
+ Possible bias of the sample with respect to analyser ground. This field may
also be found in NXsample if present.
diff --git a/contributed_definitions/NXmpes.nxdl.xml b/contributed_definitions/NXmpes.nxdl.xml
index 09f63d7559..efe6574c6d 100644
--- a/contributed_definitions/NXmpes.nxdl.xml
+++ b/contributed_definitions/NXmpes.nxdl.xml
@@ -22,9 +22,25 @@
# For further information, see http://www.nexusformat.org
-->
+
+
+ The symbols used in the schema to specify e.g. dimensions of arrays
+
+
+
+ Number of data points in the transmission function.
+
+
+
This is the most general application definition for multidimensional
photoelectron spectroscopy.
+
+ Groups and fields are named according to the
+ `ISO 18115-1:2023`_ specification as well as the `IUPAC Recommendations 2020`_.
+
+ .. _ISO 18115-1:2023: https://www.iso.org/standard/74811.html
+ .. _IUPAC Recommendations 2020: https://doi.org/10.1515/pac-2019-0404
@@ -40,10 +56,21 @@
- A name of the experimental method according
- to the `ISO 18115-1:2023`_ specification.
+ A name of the experimental method according to `Clause 11`_ of
+ the `ISO 18115-1:2023`_ specification.
+
+ Examples include:
+ * X-ray photoelectron spectroscopy (XPS)
+ * angle-resolved X-ray photoelectron spectroscopy (ARXPS)
+ * ultraviolet photoelectron spectroscopy (UPS)
+ * angle-resolved photoelectron spectroscopy (ARPES)
+ * hard X-ray photoemission spectroscopy (HAXPES)
+ * near ambient pressure X-ray photoelectron spectroscopy (NAPXPS)
+ * photoelectron emission microscopy (PEEM)
+ * electron spectroscopy for chemical analysis (ESCA)
.. _ISO 18115-1:2023: https://www.iso.org/standard/74811.html
+ .. _Clause 11: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:sec:11
@@ -86,7 +113,22 @@
+
+ MPES spectrometer
+
+ Refers to Term `12.58`_ of the ISO 18115-1:2023 specification.
+
+ .. _12.58: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:12.58
+
+
+ Overall energy resolution of the MPES instrument
+
+ Refers to Terms `10.7`_ ff. and `10.24`_ of the ISO 18115-1:2023 specification.
+
+ .. _10.7: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:10.7
+ .. _10.24: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:10.24
+
@@ -149,13 +191,27 @@
The beam emitted by this source.
Should be named with the same appendix, e.g.,
for `source_probe` it should refer to `beam_probe`.
- Refers to the same concept as /NXentry/NXinstrument/source_TYPE
+ Refers to the same concept as /NXentry/NXinstrument/beam_TYPE
and may be linked.
+
+
+
+ The beam emitted by this source.
+ Should be named with the same appendix, e.g.,
+ for `source_probe` it should refer to `beam_probe`.
+ Refers to the same concept as /NXentry/NXinstrument/source_TYPE
+ and may be linked.
+
+
+
+
@@ -173,10 +229,10 @@ This would also be helpful for NXtransformations-->
- The beam emitted by this source.
+ The source that emitted this beam.
Should be named with the same appendix, e.g.,
for `beam_probe` it should refer to `source_probe`.
- Refers to the same concept as /NXentry/NXinstrument/beam_TYPE
+ Refers to the same concept as /NXentry/NXinstrument/source_TYPE
and may be linked.
@@ -192,10 +248,15 @@ This would also be helpful for NXtransformations-->
Energy resolution of the analyser with the current setting. May be linked from a
NXcalibration.
+
+ Refers to Term `10.24`_ of the ISO 18115-1:2023 specification.
+
+ .. _10.24: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:10.24
-
+
+
-#
+#
#
#
# The symbols used in the schema to specify e.g. dimensions of arrays
@@ -170,9 +180,23 @@ NXcalibration(NXobject):
#
#
#
-#
+#
#
# A description of the procedures employed.
#
#
+#
+#
+# File containing the input data for calibration.
+#
+#
+#
+#
+# Mapping data for calibration.
+#
+# This can be used to map data points from uncalibrated
+# to calibrated values, e.g., by multiplying each point by the
+# corresponding point in the mapping data.
+#
+#
#
diff --git a/contributed_definitions/nyaml/NXdetector.yaml b/contributed_definitions/nyaml/NXdetector.yaml
deleted file mode 100644
index 8fd286fc58..0000000000
--- a/contributed_definitions/nyaml/NXdetector.yaml
+++ /dev/null
@@ -1,1758 +0,0 @@
-category: base
-doc: |
- A detector, detector bank, or multidetector.
-symbols:
- doc: |
- These symbols will be used below to illustrate the coordination of the
- rank and sizes of datasets and the preferred ordering of the
- dimensions. Each of these are optional (so the rank of the datasets
- will vary according to the situation) and the general ordering
- principle is slowest to fastest. The type of each dimension should
- follow the order of scan points, detector output (e.g. pixels), then
- time-of-flight (i.e. spectroscopy, spectrometry). Note that the output
- of a detector is not limited to single values (0D), lists (1D) and
- images (2), but three or higher dimensional arrays can be produced by
- a detector at each trigger.
- nP: |
- number of scan points (only present in scanning measurements)
- i: |
- number of detector pixels in the first (slowest) direction
- j: |
- number of detector pixels in the second (faster) direction
- k: |
- number of detector pixels in the third (if necessary, fastest)
- direction
- tof: |
- number of bins in the time-of-flight histogram
-type: group
-(NXobject)NXdetector:
- time_of_flight(NX_FLOAT):
- unit: NX_TIME_OF_FLIGHT
- doc: |
- Total time of flight
- dimensions:
- rank: 1
- dim: [[1, tof+1]]
- \@axis:
- type: NX_POSINT
- deprecated: |
- see: https://github.com/nexusformat/definitions/issues/436
- enumeration: [3]
- \@primary:
- type: NX_POSINT
- deprecated: |
- see: https://github.com/nexusformat/definitions/issues/436
- enumeration: [1]
- \@long_name:
- doc: |
- Total time of flight
- raw_time_of_flight(NX_INT):
- unit: NX_PULSES
- doc: |
- In DAQ clock pulses
- dimensions:
- rank: 1
- dim: [[1, tof+1]]
- \@frequency:
- type: NX_NUMBER
- doc: |
- Clock frequency in Hz
- detector_number(NX_INT):
- doc: |
- Identifier for detector (pixels)
- Can be multidimensional, if needed
- data(NX_NUMBER):
- unit: NX_ANY
- doc: |
- Data values from the detector. The rank and dimension ordering should follow a principle of
- slowest to fastest measurement axes and may be explicitly specified in application definitions.
-
- Mechanical scanning of objects (e.g. sample position/angle, incident beam energy, etc) tends to be
- the slowest part of an experiment and so any such scan axes should be allocated to the first dimensions
- of the array. Note that in some cases it may be useful to represent a 2D set of scan points as a single
- scan-axis in the data array, especially if the scan pattern doesn't fit a rectangular array nicely.
- Repetition of an experiment in a time series tends to be used similar to a slow scan axis
- and so will often be in the first dimension of the data array.
-
- The next fastest axes are typically the readout of the detector. A point detector will not add any dimensions
- (as it is just a single value per scan point) to the data array, a strip detector will add one dimension, an
- imaging detector will add two dimensions (e.g. X, Y axes) and detectors outputting higher dimensional data
- will add the corresponding number of dimensions. Note that the detector dimensions don't necessarily have to
- be written in order of the actual readout speeds - the slowest to fastest rule principle is only a guide.
-
- Finally, detectors that operate in a time-of-flight mode, such as a neutron spectrometer or a silicon drift
- detector (used for X-ray fluorescence) tend to have their dimension(s) added to the last dimensions in the data array.
-
- The type of each dimension should should follow the order of scan points, detector pixels,
- then time-of-flight (i.e. spectroscopy, spectrometry). The rank and dimension sizes (see symbol list)
- shown here are merely illustrative of coordination between related datasets.
- dimensions:
- rank: 4
- dim: [[1, nP], [2, i], [3, j], [4, tof]]
- \@long_name:
- doc: |
- Title of measurement
- \@check_sum:
- type: NX_INT
- doc: |
- Integral of data as check of data integrity
- data_errors(NX_NUMBER):
- unit: NX_ANY
- doc: |
- The best estimate of the uncertainty in the data value (array size should match the data field). Where
- possible, this should be the standard deviation, which has the same units
- as the data. The form data_error is deprecated.
- dimensions:
- rank: 4
- dim: [[1, nP], [2, i], [3, j], [4, tof]]
- x_pixel_offset(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- Offset from the detector center in x-direction.
- Can be multidimensional when needed.
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- \@axis:
- type: NX_POSINT
- deprecated: |
- see: https://github.com/nexusformat/definitions/issues/436
- enumeration: [1]
- \@primary:
- type: NX_POSINT
- deprecated: |
- see: https://github.com/nexusformat/definitions/issues/436
- enumeration: [1]
- \@long_name:
- doc: |
- x-axis offset from detector center
- y_pixel_offset(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- Offset from the detector center in the y-direction.
- Can be multidimensional when different values are required for each pixel.
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- \@axis:
- type: NX_POSINT
- deprecated: |
- see: https://github.com/nexusformat/definitions/issues/436
- enumeration: [2]
- \@primary:
- type: NX_POSINT
- deprecated: |
- see: https://github.com/nexusformat/definitions/issues/436
- enumeration: [1]
- \@long_name:
- doc: |
- y-axis offset from detector center
- z_pixel_offset(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- Offset from the detector center in the z-direction.
- Can be multidimensional when different values are required for each pixel.
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- \@axis:
- type: NX_POSINT
- deprecated: |
- see: https://github.com/nexusformat/definitions/issues/436
- enumeration: [3]
- \@primary:
- type: NX_POSINT
- deprecated: |
- see: https://github.com/nexusformat/definitions/issues/436
- enumeration: [1]
- \@long_name:
- doc: |
- y-axis offset from detector center
- distance(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- This is the distance to the previous component in the
- instrument; most often the sample. The usage depends on the
- nature of the detector: Most often it is the distance of the
- detector assembly. But there are irregular detectors. In this
- case the distance must be specified for each detector pixel.
-
- Note, it is recommended to use NXtransformations instead.
- dimensions:
- rank: 3
- dim: [[1, nP], [2, i], [3, j]]
- polar_angle(NX_FLOAT):
- unit: NX_ANGLE
- doc: |
- This is the polar angle of the detector towards the previous
- component in the instrument; most often the sample.
- The usage depends on the
- nature of the detector.
- Most often it is the polar_angle of the detector assembly.
- But there are irregular detectors.
- In this
- case, the polar_angle must be specified for each detector pixel.
-
- Note, it is recommended to use NXtransformations instead.
- dimensions:
- rank: 3
- dim: [[1, nP], [2, i], [3, j]]
- azimuthal_angle(NX_FLOAT):
- unit: NX_ANGLE
- doc: |
- This is the azimuthal angle angle of the detector towards
- the previous component in the instrument; most often the sample.
- The usage depends on the
- nature of the detector.
- Most often it is the azimuthal_angle of the detector assembly.
- But there are irregular detectors.
- In this
- case, the azimuthal_angle must be specified for each detector pixel.
-
- Note, it is recommended to use NXtransformations instead.
- dimensions:
- rank: 3
- dim: [[1, nP], [2, i], [3, j]]
- description:
- doc: |
- name/manufacturer/model/etc. information
- serial_number:
- doc: |
- Serial number for the detector
- local_name:
- doc: |
- Local name for the detector
- (NXgeometry):
- deprecated: |
- Use the field `depends_on` and :ref:`NXtransformations` to position the detector and NXoff_geometry to describe its shape instead
- doc: |
- Position and orientation of detector
- solid_angle(NX_FLOAT):
- unit: NX_SOLID_ANGLE
- doc: |
- Solid angle subtended by the detector at the sample
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- x_pixel_size(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- Size of each detector pixel. If it is scalar all pixels are the same size.
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- y_pixel_size(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- Size of each detector pixel. If it is scalar all pixels are the same size
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- dead_time(NX_FLOAT):
- unit: NX_TIME
- doc: |
- Detector dead time
- dimensions:
- rank: 3
- dim: [[1, nP], [2, i], [3, j]]
- gas_pressure(NX_FLOAT):
- unit: NX_PRESSURE
- doc: |
- Detector gas pressure
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- detection_gas_path(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- maximum drift space dimension
- crate(NX_INT):
- doc: |
- Crate number of detector
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- \@local_name:
- doc: |
- Equivalent local term
- slot(NX_INT):
- doc: |
- Slot number of detector
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- \@local_name:
- doc: |
- Equivalent local term
- input(NX_INT):
- doc: |
- Input number of detector
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- \@local_name:
- doc: |
- Equivalent local term
- type:
- doc: |
- Description of type such as He3 gas cylinder, He3 PSD, scintillator,
- fission chamber, proportion counter, ion chamber, ccd, pixel, image plate,
- CMOS, ...
- efficiency(NXdata):
- doc: |
- Spectral efficiency of detector with respect to e.g. wavelength
- \@signal:
- enumeration: [efficiency]
- \@axes:
-
- # TODO: clarify the various use cases
- enumeration: [., . ., . . ., . . . ., wavelength]
- \@wavelength_indices:
-
- # TODO: clarify the actual possibilities
- enumeration: [0]
- efficiency(NX_FLOAT):
- unit: NX_DIMENSIONLESS
- doc: |
- efficiency of the detector
- dimensions:
- rank: 3
- dim: [[1, i], [2, j], [3, k]]
- wavelength(NX_FLOAT):
- unit: NX_WAVELENGTH
- doc: |
- This field can be two things:
-
- 1. For a pixel detector it provides the nominal wavelength
- for which the detector has been calibrated.
-
- 2. For other detectors this field has to be seen together with
- the efficiency field above.
- For some detectors, the efficiency is wavelength dependent.
- Thus this field provides the wavelength axis for the efficiency field.
- In this use case, the efficiency and wavelength arrays must
- have the same dimensionality.
- dimensions:
- rank: 3
- dim: [[1, i], [2, j], [3, k]]
- real_time(NX_NUMBER):
- unit: NX_TIME
- doc: |
- Real-time of the exposure (use this if exposure time varies for
- each array element, otherwise use ``count_time`` field).
-
- Most often there is a single real time value that is constant across
- an entire image frame. In such cases, only a 1-D array is needed.
- But there are detectors in which the real time
- changes per pixel. In that case, more than one dimension is needed. Therefore
- the rank of this field should be less than or equal to (detector rank + 1).
- dimensions:
- rank: 3
- dim: [[1, nP], [2, i], [3, j]]
- start_time(NX_FLOAT):
- unit: NX_TIME
- doc: |
- start time for each frame, with the ``start`` attribute as absolute reference
- dimensions:
- rank: 1
- dim: [[1, nP]]
- \@start:
- type: NX_DATE_TIME
- stop_time(NX_FLOAT):
- unit: NX_TIME
- doc: |
- stop time for each frame, with the ``start`` attribute as absolute reference
- dimensions:
- rank: 1
- dim: [[1, nP]]
- \@start:
- type: NX_DATE_TIME
- calibration_date(NX_DATE_TIME):
- doc: |
- date of last calibration (geometry and/or efficiency) measurements
- calibration_method(NXnote):
- doc: |
- summary of conversion of array data to pixels (e.g. polynomial
- approximations) and location of details of the calibrations
- layout:
- doc: |
- How the detector is represented
- enumeration: [point, linear, area]
- count_time(NX_NUMBER):
- unit: NX_TIME
- doc: |
- Elapsed actual counting time
- dimensions:
- rank: 1
- dim: [[1, nP]]
- data_file(NXnote):
- (NXcollection):
- doc: |
- Use this group to provide other data related to this NXdetector group.
- sequence_number(NX_INT):
- doc: |
- In order to properly sort the order of the images taken in (for
- example) a tomography experiment, a sequence number is stored with each
- image.
- dimensions:
- rank: 1
- dim: [[1, nBrightFrames]]
- beam_center_x(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- This is the x position where the direct beam would hit the detector.
- This is a length and can be outside of the actual
- detector. The length can be in physical units or pixels
- as documented by the units attribute.
- beam_center_y(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- This is the y position where the direct beam would hit the detector.
- This is a length and can be outside of the actual
- detector. The length can be in physical units or pixels
- as documented by the units attribute.
- frame_start_number(NX_INT):
- doc: |
- This is the start number of the first frame of a scan. In protein crystallography measurements one
- often scans a couple of frames on a give sample, then does something else,
- then returns to the same sample and scans some more frames. Each time with
- a new data file. This number helps concatenating such measurements.
- diameter(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- The diameter of a cylindrical detector
- acquisition_mode(NX_CHAR):
- doc: |
- The acquisition mode of the detector.
- enumeration: [gated, triggered, summed, event, histogrammed, decimated]
- angular_calibration_applied(NX_BOOLEAN):
- doc: |
- True when the angular calibration has been applied in the
- electronics, false otherwise.
- angular_calibration(NX_FLOAT):
- doc: |
- Angular calibration data.
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- flatfield_applied(NX_BOOLEAN):
- doc: |
- True when the flat field correction has been applied in the
- electronics, false otherwise.
- flatfield(NX_FLOAT):
- doc: |
- Flat field correction data.
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- flatfield_errors(NX_FLOAT):
- doc: |
- Errors of the flat field correction data.
- The form flatfield_error is deprecated.
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- pixel_mask_applied(NX_BOOLEAN):
- doc: |
- True when the pixel mask correction has been applied in the
- electronics, false otherwise.
- pixel_mask(NX_INT):
- doc: |
- The 32-bit pixel mask for the detector. Can be either one mask
- for the whole dataset (i.e. an array with indices i, j) or
- each frame can have its own mask (in which case it would be
- an array with indices np, i, j).
-
- Contains a bit field for each pixel to signal dead,
- blind or high or otherwise unwanted or undesirable pixels.
- They have the following meaning:
-
- .. can't make a table here, a bullet list will have to do for now
-
- * bit 0: gap (pixel with no sensor)
- * bit 1: dead
- * bit 2: under responding
- * bit 3: over responding
- * bit 4: noisy
- * bit 5: -undefined-
- * bit 6: pixel is part of a cluster of problematic pixels (bit set in addition to others)
- * bit 7: -undefined-
- * bit 8: user defined mask (e.g. around beamstop)
- * bits 9-30: -undefined-
- * bit 31: virtual pixel (corner pixel with interpolated value)
-
- Normal data analysis software would
- not take pixels into account
- when a bit in (mask & 0x0000FFFF) is
- set. Tag bit in the upper
- two bytes would indicate special pixel
- properties that normally
- would not be a sole reason to reject the
- intensity value (unless
- lower bits are set.
-
- If the full bit depths is not required, providing a
- mask with fewer bits is permissible.
-
- If needed, additional pixel masks can be specified by
- including additional entries named pixel_mask_N, where
- N is an integer. For example, a general bad pixel mask
- could be specified in pixel_mask that indicates noisy
- and dead pixels, and an additional pixel mask from
- experiment-specific shadowing could be specified in
- pixel_mask_2. The cumulative mask is the bitwise OR
- of pixel_mask and any pixel_mask_N entries.
- dimensions:
- rank: 2
- dim: [[1, i], [2, j]]
- image_key(NX_INT):
- doc: |
- This field allow to distinguish different types of exposure to the same detector "data" field.
- Some techniques require frequent (re-)calibration inbetween measuremnts and this way of
- recording the different measurements preserves the chronological order with is important for
- correct processing.
-
- This is used for example in tomography (`:ref:`NXtomo`) sample projections,
- dark and flat images, a magic number is recorded per frame.
-
- The key is as follows:
-
- * projection (sample) = 0
- * flat field = 1
- * dark field = 2
- * invalid = 3
- * background (no sample, but buffer where applicable) = 4
-
- In cases where the data is of type :ref:`NXlog` this can also be an NXlog.
- dimensions:
- rank: 1
- dim: [[1, np]]
- countrate_correction_applied(NX_BOOLEAN):
- doc: |
- Counting detectors usually are not able to measure all incoming particles,
- especially at higher count-rates. Count-rate correction is applied to
- account for these errors.
-
- True when count-rate correction has been applied, false otherwise.
- countrate_correction_lookup_table(NX_NUMBER):
- doc: |
- The countrate_correction_lookup_table defines the LUT used for count-rate
- correction. It maps a measured count :math:`c` to its corrected value
- :math:`countrate\_correction\_lookup\_table[c]`.
-
- :math:`m` denotes the length of the table.
- dimensions:
- rank: 1
- dim: [[1, m]]
- virtual_pixel_interpolation_applied(NX_BOOLEAN):
- doc: |
- True when virtual pixel interpolation has been applied, false otherwise.
-
- When virtual pixel interpolation is applied, values of some pixels may
- contain interpolated values. For example, to account for space between
- readout chips on a module, physical pixels on edges and corners between
- chips may have larger sensor areas and counts may be distributed between
- their logical pixels.
- bit_depth_readout(NX_INT):
- doc: |
- How many bits the electronics reads per pixel.
- With CCD's and single photon counting detectors,
- this must not align with traditional integer sizes.
- This can be 4, 8, 12, 14, 16, ...
- detector_readout_time(NX_FLOAT):
- unit: NX_TIME
- doc: |
- Time it takes to read the detector (typically milliseconds).
- This is important to know for time resolved experiments.
- trigger_delay_time(NX_FLOAT):
- unit: NX_TIME
- doc: |
- Time it takes to start exposure after a trigger signal has been received.
- This is the reaction time of the detector firmware after receiving the trigger signal
- to when the detector starts to acquire the exposure, including any user set delay..
- This is important to know for time resolved experiments.
- trigger_delay_time_set(NX_FLOAT):
- unit: NX_TIME
- doc: |
- User-specified trigger delay.
- trigger_internal_delay_time(NX_FLOAT):
- unit: NX_TIME
- doc: |
- Time it takes to start exposure after a trigger signal has been received.
- This is the reaction time of the detector hardware after receiving the
- trigger signal to when the detector starts to acquire the exposure.
- It forms the lower boundary of the trigger_delay_time when the user
- does not request an additional delay.
- trigger_dead_time(NX_FLOAT):
- unit: NX_TIME
- doc: |
- Time during which no new trigger signal can be accepted.
- Typically this is the
- trigger_delay_time + exposure_time + readout_time.
- This is important to know for time resolved experiments.
- frame_time(NX_FLOAT):
- unit: NX_TIME
- doc: |
- This is time for each frame. This is exposure_time + readout time.
- dimensions:
- rank: 1
- dim: [[1, nP]]
- gain_setting(NX_CHAR):
- doc: |
- The gain setting of the detector. This is a detector-specific value
- meant to document the gain setting of the detector during data
- collection, for detectors with multiple available gain settings.
-
- Examples of gain settings include:
-
- * ``standard``
- * ``fast``
- * ``auto``
- * ``high``
- * ``medium``
- * ``low``
- * ``mixed high to medium``
- * ``mixed medium to low``
-
- Developers are encouraged to use one of these terms, or to submit
- additional terms to add to the list.
- saturation_value(NX_NUMBER):
- doc: |
- The value at which the detector goes into saturation.
- Especially common to CCD detectors, the data
- is known to be invalid above this value.
-
- For example, given a saturation_value and an underload_value, the valid
- pixels are those less than or equal to the saturation_value and greater
- than or equal to the underload_value.
-
- The precise type should match the type of the data.
- underload_value(NX_NUMBER):
- doc: |
- The lowest value at which pixels for this detector would be reasonably
- measured. The data is known to be invalid below this value.
-
- For example, given a saturation_value and an underload_value, the valid
- pixels are those less than or equal to the saturation_value and greater
- than or equal to the underload_value.
-
- The precise type should match the type of the data.
- number_of_cycles(NX_INT):
- doc: |
- CCD images are sometimes constructed by summing
- together multiple short exposures in the
- electronics. This reduces background etc.
- This is the number of short exposures used to sum
- images for an image.
- sensor_material(NX_CHAR):
- doc: |
- At times, radiation is not directly sensed by the detector.
- Rather, the detector might sense the output from some
- converter like a scintillator.
- This is the name of this converter material.
- sensor_thickness(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- At times, radiation is not directly sensed by the detector.
- Rather, the detector might sense the output from some
- converter like a scintillator.
- This is the thickness of this converter material.
- threshold_energy(NX_FLOAT):
- unit: NX_ENERGY
- doc: |
- Single photon counter detectors can be adjusted
- for a certain energy range in which they
- work optimally. This is the energy setting for this.
- (NXdetector_module):
- doc: |
- For use in special cases where the data in NXdetector
- is represented in several parts, each with a separate geometry.
- pixel_shape(choice):
- (NXoff_geometry):
- doc: |
- Shape description of each pixel. Use only if all pixels in the detector
- are of uniform shape.
- (NXcylindrical_geometry):
- doc: |
- Shape description of each pixel. Use only if all pixels in the detector
- are of uniform shape and require being described by cylinders.
- detector_shape(choice):
- (NXoff_geometry):
- doc: |
- Shape description of the whole detector. Use only if pixels in the
- detector are not of uniform shape.
- (NXcylindrical_geometry):
- doc: |
- Shape description of the whole detector. Use only if pixels in the
- detector are not of uniform shape and require being described by cylinders.
- \@default:
- doc: |
- .. index:: plotting
-
- Declares which child group contains a path leading
- to a :ref:`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.
- amplifier_type(NX_CHAR):
- doc: |
- Type of electron amplifier, MCP, channeltron, etc.
- detector_type(NX_CHAR):
- doc: |
- Description of the detector type, DLD, Phosphor+CCD, CMOS.
- detector_voltage(NX_FLOAT):
- unit: NX_VOLTAGE
- doc: |
- Voltage applied to detector.
- amplifier_voltage(NX_FLOAT):
- unit: NX_VOLTAGE
- doc: |
- Voltage applied to the amplifier.
- amplifier_bias(NX_FLOAT):
- unit: NX_VOLTAGE
- doc: |
- The low voltage of the amplifier migh not be the ground.
- sensor_size(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- Size of each imaging sensor chip on the detector.
- sensor_count(NX_INT):
- unit: NX_UNITLESS
- doc: |
- Number of imaging sensor chips on the detector.
- sensor_pixel_size(NX_FLOAT):
- unit: NX_LENGTH
- doc: |
- Physical size of the pixels of the imaging chip on the detector.
- sensor_pixels(NX_INT):
- unit: NX_UNITLESS
- doc: |
- Number of raw active elements in each dimension. Important for swept scans.
- (NXfabrication):
- (NXdata):
- doc: |
- raw data output from the detector
- depends_on(NX_CHAR):
- doc: |
- NeXus positions components by applying a set of translations and rotations
- to apply to the component starting from 0, 0, 0. The order of these operations
- is critical and forms what NeXus calls a dependency chain. The depends_on
- field defines the path to the top most operation of the dependency chain or the
- string "." if located in the origin. Usually these operations are stored in a
- NXtransformations group. But NeXus allows them to be stored anywhere.
-
- The reference point of the detector is the center of the first pixel.
- In complex geometries the NXoff_geometry groups can be used to provide an unambiguous reference.
- (NXtransformations):
- doc: |
- This is the group recommended for holding the chain of translation
- and rotation operations necessary to position the component within
- the instrument. The dependency chain may however traverse similar groups in
- other component groups.
-
-# ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++
-# 6b256ef0615dca7d8faf4a3bc04d3e62f29a1745e9cd35205e5f0bb9e2c6520c
-#
-#
-#
-#
-#
-#
-# These symbols will be used below to illustrate the coordination of the
-# rank and sizes of datasets and the preferred ordering of the
-# dimensions. Each of these are optional (so the rank of the datasets
-# will vary according to the situation) and the general ordering
-# principle is slowest to fastest. The type of each dimension should
-# follow the order of scan points, detector output (e.g. pixels), then
-# time-of-flight (i.e. spectroscopy, spectrometry). Note that the output
-# of a detector is not limited to single values (0D), lists (1D) and
-# images (2), but three or higher dimensional arrays can be produced by
-# a detector at each trigger.
-#
-#
-#
-# number of scan points (only present in scanning measurements)
-#
-#
-#
-#
-# number of detector pixels in the first (slowest) direction
-#
-#
-#
-#
-# number of detector pixels in the second (faster) direction
-#
-#
-#
-#
-# number of detector pixels in the third (if necessary, fastest)
-# direction
-#
-#
-#
-#
-# number of bins in the time-of-flight histogram
-#
-#
-#
-#
-# A detector, detector bank, or multidetector.
-#
-#
-#
-# Total time of flight
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# Total time of flight
-#
-#
-#
-#
-#
-# In DAQ clock pulses
-#
-#
-#
-#
-#
-#
-# Clock frequency in Hz
-#
-#
-#
-#
-#
-# Identifier for detector (pixels)
-# Can be multidimensional, if needed
-#
-#
-#
-#
-# Data values from the detector. The rank and dimension ordering should follow a principle of
-# slowest to fastest measurement axes and may be explicitly specified in application definitions.
-#
-# Mechanical scanning of objects (e.g. sample position/angle, incident beam energy, etc) tends to be
-# the slowest part of an experiment and so any such scan axes should be allocated to the first dimensions
-# of the array. Note that in some cases it may be useful to represent a 2D set of scan points as a single
-# scan-axis in the data array, especially if the scan pattern doesn't fit a rectangular array nicely.
-# Repetition of an experiment in a time series tends to be used similar to a slow scan axis
-# and so will often be in the first dimension of the data array.
-#
-# The next fastest axes are typically the readout of the detector. A point detector will not add any dimensions
-# (as it is just a single value per scan point) to the data array, a strip detector will add one dimension, an
-# imaging detector will add two dimensions (e.g. X, Y axes) and detectors outputting higher dimensional data
-# will add the corresponding number of dimensions. Note that the detector dimensions don't necessarily have to
-# be written in order of the actual readout speeds - the slowest to fastest rule principle is only a guide.
-#
-# Finally, detectors that operate in a time-of-flight mode, such as a neutron spectrometer or a silicon drift
-# detector (used for X-ray fluorescence) tend to have their dimension(s) added to the last dimensions in the data array.
-#
-# The type of each dimension should should follow the order of scan points, detector pixels,
-# then time-of-flight (i.e. spectroscopy, spectrometry). The rank and dimension sizes (see symbol list)
-# shown here are merely illustrative of coordination between related datasets.
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# Title of measurement
-#
-#
-#
-#
-# Integral of data as check of data integrity
-#
-#
-#
-#
-#
-# The best estimate of the uncertainty in the data value (array size should match the data field). Where
-# possible, this should be the standard deviation, which has the same units
-# as the data. The form data_error is deprecated.
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# Offset from the detector center in x-direction.
-# Can be multidimensional when needed.
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# x-axis offset from detector center
-#
-#
-#
-#
-#
-# Offset from the detector center in the y-direction.
-# Can be multidimensional when different values are required for each pixel.
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# y-axis offset from detector center
-#
-#
-#
-#
-#
-# Offset from the detector center in the z-direction.
-# Can be multidimensional when different values are required for each pixel.
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# y-axis offset from detector center
-#
-#
-#
-#
-#
-# This is the distance to the previous component in the
-# instrument; most often the sample. The usage depends on the
-# nature of the detector: Most often it is the distance of the
-# detector assembly. But there are irregular detectors. In this
-# case the distance must be specified for each detector pixel.
-#
-# Note, it is recommended to use NXtransformations instead.
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# This is the polar angle of the detector towards the previous
-# component in the instrument; most often the sample.
-# The usage depends on the
-# nature of the detector.
-# Most often it is the polar_angle of the detector assembly.
-# But there are irregular detectors.
-# In this
-# case, the polar_angle must be specified for each detector pixel.
-#
-# Note, it is recommended to use NXtransformations instead.
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# This is the azimuthal angle angle of the detector towards
-# the previous component in the instrument; most often the sample.
-# The usage depends on the
-# nature of the detector.
-# Most often it is the azimuthal_angle of the detector assembly.
-# But there are irregular detectors.
-# In this
-# case, the azimuthal_angle must be specified for each detector pixel.
-#
-# Note, it is recommended to use NXtransformations instead.
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# name/manufacturer/model/etc. information
-#
-#
-#
-#
-# Serial number for the detector
-#
-#
-#
-#
-# Local name for the detector
-#
-#
-#
-#
-# Position and orientation of detector
-#
-#
-#
-#
-# Solid angle subtended by the detector at the sample
-#
-#
-#
-#
-#
-#
-#
-#
-# Size of each detector pixel. If it is scalar all pixels are the same size.
-#
-#
-#
-#
-#
-#
-#
-#
-# Size of each detector pixel. If it is scalar all pixels are the same size
-#
-#
-#
-#
-#
-#
-#
-#
-# Detector dead time
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# Detector gas pressure
-#
-#
-#
-#
-#
-#
-#
-#
-# maximum drift space dimension
-#
-#
-#
-#
-# Crate number of detector
-#
-#
-#
-#
-#
-#
-#
-# Equivalent local term
-#
-#
-#
-#
-#
-# Slot number of detector
-#
-#
-#
-#
-#
-#
-#
-# Equivalent local term
-#
-#
-#
-#
-#
-# Input number of detector
-#
-#
-#
-#
-#
-#
-#
-# Equivalent local term
-#
-#
-#
-#
-#
-# Description of type such as He3 gas cylinder, He3 PSD, scintillator,
-# fission chamber, proportion counter, ion chamber, ccd, pixel, image plate,
-# CMOS, ...
-#
-#
-#
-#
-# Spectral efficiency of detector with respect to e.g. wavelength
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# efficiency of the detector
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# This field can be two things:
-#
-# 1. For a pixel detector it provides the nominal wavelength
-# for which the detector has been calibrated.
-#
-# 2. For other detectors this field has to be seen together with
-# the efficiency field above.
-# For some detectors, the efficiency is wavelength dependent.
-# Thus this field provides the wavelength axis for the efficiency field.
-# In this use case, the efficiency and wavelength arrays must
-# have the same dimensionality.
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# Real-time of the exposure (use this if exposure time varies for
-# each array element, otherwise use ``count_time`` field).
-#
-# Most often there is a single real time value that is constant across
-# an entire image frame. In such cases, only a 1-D array is needed.
-# But there are detectors in which the real time
-# changes per pixel. In that case, more than one dimension is needed. Therefore
-# the rank of this field should be less than or equal to (detector rank + 1).
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# start time for each frame, with the ``start`` attribute as absolute reference
-#
-#
-#
-#
-#
-#
-#
-#
-# stop time for each frame, with the ``start`` attribute as absolute reference
-#
-#
-#
-#
-#
-#
-#
-#
-# date of last calibration (geometry and/or efficiency) measurements
-#
-#
-#
-#
-# summary of conversion of array data to pixels (e.g. polynomial
-# approximations) and location of details of the calibrations
-#
-#
-#
-#
-# How the detector is represented
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# Elapsed actual counting time
-#
-#
-#
-#
-#
-#
-#
-#
-# Use this group to provide other data related to this NXdetector group.
-#
-#
-#
-#
-# In order to properly sort the order of the images taken in (for
-# example) a tomography experiment, a sequence number is stored with each
-# image.
-#
-#
-#
-#
-#
-#
-#
-# This is the x position where the direct beam would hit the detector.
-# This is a length and can be outside of the actual
-# detector. The length can be in physical units or pixels
-# as documented by the units attribute.
-#
-#
-#
-#
-# This is the y position where the direct beam would hit the detector.
-# This is a length and can be outside of the actual
-# detector. The length can be in physical units or pixels
-# as documented by the units attribute.
-#
-#
-#
-#
-# This is the start number of the first frame of a scan. In protein crystallography measurements one
-# often scans a couple of frames on a give sample, then does something else,
-# then returns to the same sample and scans some more frames. Each time with
-# a new data file. This number helps concatenating such measurements.
-#
-#
-#
-#
-# The diameter of a cylindrical detector
-#
-#
-#
-#
-# The acquisition mode of the detector.
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# True when the angular calibration has been applied in the
-# electronics, false otherwise.
-#
-#
-#
-#
-# Angular calibration data.
-#
-#
-#
-#
-#
-#
-#
-#
-# True when the flat field correction has been applied in the
-# electronics, false otherwise.
-#
-#
-#
-#
-# Flat field correction data.
-#
-#
-#
-#
-#
-#
-#
-#
-# Errors of the flat field correction data.
-# The form flatfield_error is deprecated.
-#
-#
-#
-#
-#
-#
-#
-#
-# True when the pixel mask correction has been applied in the
-# electronics, false otherwise.
-#
-#
-#
-#
-# The 32-bit pixel mask for the detector. Can be either one mask
-# for the whole dataset (i.e. an array with indices i, j) or
-# each frame can have its own mask (in which case it would be
-# an array with indices np, i, j).
-#
-# Contains a bit field for each pixel to signal dead,
-# blind or high or otherwise unwanted or undesirable pixels.
-# They have the following meaning:
-#
-# .. can't make a table here, a bullet list will have to do for now
-#
-# * bit 0: gap (pixel with no sensor)
-# * bit 1: dead
-# * bit 2: under responding
-# * bit 3: over responding
-# * bit 4: noisy
-# * bit 5: -undefined-
-# * bit 6: pixel is part of a cluster of problematic pixels (bit set in addition to others)
-# * bit 7: -undefined-
-# * bit 8: user defined mask (e.g. around beamstop)
-# * bits 9-30: -undefined-
-# * bit 31: virtual pixel (corner pixel with interpolated value)
-#
-# Normal data analysis software would
-# not take pixels into account
-# when a bit in (mask & 0x0000FFFF) is
-# set. Tag bit in the upper
-# two bytes would indicate special pixel
-# properties that normally
-# would not be a sole reason to reject the
-# intensity value (unless
-# lower bits are set.
-#
-# If the full bit depths is not required, providing a
-# mask with fewer bits is permissible.
-#
-# If needed, additional pixel masks can be specified by
-# including additional entries named pixel_mask_N, where
-# N is an integer. For example, a general bad pixel mask
-# could be specified in pixel_mask that indicates noisy
-# and dead pixels, and an additional pixel mask from
-# experiment-specific shadowing could be specified in
-# pixel_mask_2. The cumulative mask is the bitwise OR
-# of pixel_mask and any pixel_mask_N entries.
-#
-#
-#
-#
-#
-#
-#
-#
-# This field allow to distinguish different types of exposure to the same detector "data" field.
-# Some techniques require frequent (re-)calibration inbetween measuremnts and this way of
-# recording the different measurements preserves the chronological order with is important for
-# correct processing.
-#
-# This is used for example in tomography (`:ref:`NXtomo`) sample projections,
-# dark and flat images, a magic number is recorded per frame.
-#
-# The key is as follows:
-#
-# * projection (sample) = 0
-# * flat field = 1
-# * dark field = 2
-# * invalid = 3
-# * background (no sample, but buffer where applicable) = 4
-#
-# In cases where the data is of type :ref:`NXlog` this can also be an NXlog.
-#
-#
-#
-#
-#
-#
-#
-# Counting detectors usually are not able to measure all incoming particles,
-# especially at higher count-rates. Count-rate correction is applied to
-# account for these errors.
-#
-# True when count-rate correction has been applied, false otherwise.
-#
-#
-#
-#
-# The countrate_correction_lookup_table defines the LUT used for count-rate
-# correction. It maps a measured count :math:`c` to its corrected value
-# :math:`countrate\_correction\_lookup\_table[c]`.
-#
-# :math:`m` denotes the length of the table.
-#
-#
-#
-#
-#
-#
-#
-# True when virtual pixel interpolation has been applied, false otherwise.
-#
-# When virtual pixel interpolation is applied, values of some pixels may
-# contain interpolated values. For example, to account for space between
-# readout chips on a module, physical pixels on edges and corners between
-# chips may have larger sensor areas and counts may be distributed between
-# their logical pixels.
-#
-#
-#
-#
-# How many bits the electronics reads per pixel.
-# With CCD's and single photon counting detectors,
-# this must not align with traditional integer sizes.
-# This can be 4, 8, 12, 14, 16, ...
-#
-#
-#
-#
-# Time it takes to read the detector (typically milliseconds).
-# This is important to know for time resolved experiments.
-#
-#
-#
-#
-# Time it takes to start exposure after a trigger signal has been received.
-# This is the reaction time of the detector firmware after receiving the trigger signal
-# to when the detector starts to acquire the exposure, including any user set delay..
-# This is important to know for time resolved experiments.
-#
-#
-#
-#
-# User-specified trigger delay.
-#
-#
-#
-#
-# Time it takes to start exposure after a trigger signal has been received.
-# This is the reaction time of the detector hardware after receiving the
-# trigger signal to when the detector starts to acquire the exposure.
-# It forms the lower boundary of the trigger_delay_time when the user
-# does not request an additional delay.
-#
-#
-#
-#
-# Time during which no new trigger signal can be accepted.
-# Typically this is the
-# trigger_delay_time + exposure_time + readout_time.
-# This is important to know for time resolved experiments.
-#
-#
-#
-#
-# This is time for each frame. This is exposure_time + readout time.
-#
-#
-#
-#
-#
-#
-#
-# The gain setting of the detector. This is a detector-specific value
-# meant to document the gain setting of the detector during data
-# collection, for detectors with multiple available gain settings.
-#
-# Examples of gain settings include:
-#
-# * ``standard``
-# * ``fast``
-# * ``auto``
-# * ``high``
-# * ``medium``
-# * ``low``
-# * ``mixed high to medium``
-# * ``mixed medium to low``
-#
-# Developers are encouraged to use one of these terms, or to submit
-# additional terms to add to the list.
-#
-#
-#
-#
-# The value at which the detector goes into saturation.
-# Especially common to CCD detectors, the data
-# is known to be invalid above this value.
-#
-# For example, given a saturation_value and an underload_value, the valid
-# pixels are those less than or equal to the saturation_value and greater
-# than or equal to the underload_value.
-#
-# The precise type should match the type of the data.
-#
-#
-#
-#
-# The lowest value at which pixels for this detector would be reasonably
-# measured. The data is known to be invalid below this value.
-#
-# For example, given a saturation_value and an underload_value, the valid
-# pixels are those less than or equal to the saturation_value and greater
-# than or equal to the underload_value.
-#
-# The precise type should match the type of the data.
-#
-#
-#
-#
-# CCD images are sometimes constructed by summing
-# together multiple short exposures in the
-# electronics. This reduces background etc.
-# This is the number of short exposures used to sum
-# images for an image.
-#
-#
-#
-#
-# At times, radiation is not directly sensed by the detector.
-# Rather, the detector might sense the output from some
-# converter like a scintillator.
-# This is the name of this converter material.
-#
-#
-#
-#
-# At times, radiation is not directly sensed by the detector.
-# Rather, the detector might sense the output from some
-# converter like a scintillator.
-# This is the thickness of this converter material.
-#
-#
-#
-#
-# Single photon counter detectors can be adjusted
-# for a certain energy range in which they
-# work optimally. This is the energy setting for this.
-#
-#
-#
-#
-# For use in special cases where the data in NXdetector
-# is represented in several parts, each with a separate geometry.
-#
-#
-#
-#
-#
-# Shape description of each pixel. Use only if all pixels in the detector
-# are of uniform shape.
-#
-#
-#
-#
-# Shape description of each pixel. Use only if all pixels in the detector
-# are of uniform shape and require being described by cylinders.
-#
-#
-#
-#
-#
-#
-# Shape description of the whole detector. Use only if pixels in the
-# detector are not of uniform shape.
-#
-#
-#
-#
-# Shape description of the whole detector. Use only if pixels in the
-# detector are not of uniform shape and require being described by cylinders.
-#
-#
-#
-#
-#
-# .. index:: plotting
-#
-# Declares which child group contains a path leading
-# to a :ref:`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.
-#
-#
-#
-#
-# Type of electron amplifier, MCP, channeltron, etc.
-#
-#
-#
-#
-# Description of the detector type, DLD, Phosphor+CCD, CMOS.
-#
-#
-#
-#
-# Voltage applied to detector.
-#
-#
-#
-#
-# Voltage applied to the amplifier.
-#
-#
-#
-#
-# The low voltage of the amplifier migh not be the ground.
-#
-#
-#
-#
-# Size of each imaging sensor chip on the detector.
-#
-#
-#
-#
-# Number of imaging sensor chips on the detector.
-#
-#
-#
-#
-# Physical size of the pixels of the imaging chip on the detector.
-#
-#
-#
-#
-# Number of raw active elements in each dimension. Important for swept scans.
-#
-#
-#
-#
-# raw data output from the detector
-#
-#
-#
-#
-# NeXus positions components by applying a set of translations and rotations
-# to apply to the component starting from 0, 0, 0. The order of these operations
-# is critical and forms what NeXus calls a dependency chain. The depends_on
-# field defines the path to the top most operation of the dependency chain or the
-# string "." if located in the origin. Usually these operations are stored in a
-# NXtransformations group. But NeXus allows them to be stored anywhere.
-#
-# The reference point of the detector is the center of the first pixel.
-# In complex geometries the NXoff_geometry groups can be used to provide an unambiguous reference.
-#
-#
-#
-#
-# This is the group recommended for holding the chain of translation
-# and rotation operations necessary to position the component within
-# the instrument. The dependency chain may however traverse similar groups in
-# other component groups.
-#
-#
-#
diff --git a/contributed_definitions/nyaml/NXelectron_level.yaml b/contributed_definitions/nyaml/NXelectron_level.yaml
new file mode 100644
index 0000000000..0b5c8143d0
--- /dev/null
+++ b/contributed_definitions/nyaml/NXelectron_level.yaml
@@ -0,0 +1,1465 @@
+category: base
+doc: |
+ Electronic level probed in X-ray spectroscopy or resonance experiments.
+type: group
+NXelectron_level(NXobject):
+ element:
+ doc: |
+ Symbol of the chemical element.
+
+ For each, the atomic number, common English name, and standard atomic weight are also given.
+ enumeration:
+ H:
+ doc: |
+ Z=1, name="hydrogen", standard_atomic_weight=1.0078
+ He:
+ doc: |
+ Z=2, name="helium", standard_atomic_weight=4.0026
+ Li:
+ doc: |
+ Z=3, name="lithium", standard_atomic_weight=6.94
+ Be:
+ doc: |
+ Z=4, name="beryllium", standard_atomic_weight=9.0122
+ B:
+ doc: |
+ Z=5, name="boron", standard_atomic_weight=10.81
+ C:
+ doc: |
+ Z=6, name="carbon", standard_atomic_weight=12.011
+ N:
+ doc: |
+ Z=7, name="nitrogen", standard_atomic_weight=14.007
+ O:
+ doc: |
+ Z=8, name="oxygen", standard_atomic_weight=15.999
+ F:
+ doc: |
+ Z=9, name="fluorine", standard_atomic_weight=18.9984
+ Ne:
+ doc: |
+ Z=10, name="neon", standard_atomic_weight=20.1797
+ Na:
+ doc: |
+ Z=11, name="sodium", standard_atomic_weight=22.9898
+ Mg:
+ doc: |
+ Z=12, name="magnesium", standard_atomic_weight=24.305
+ Al:
+ doc: |
+ Z=13, name="aluminum", standard_atomic_weight=26.9815
+ Si:
+ doc: |
+ Z=14, name="silicon", standard_atomic_weight=28.085
+ P:
+ doc: |
+ Z=15, name="phosphorus", standard_atomic_weight=30.9738
+ S:
+ doc: |
+ Z=16, name="sulfur", standard_atomic_weight=32.06
+ Cl:
+ doc: |
+ Z=17, name="chlorine", standard_atomic_weight=35.453
+ Ar:
+ doc: |
+ Z=18, name="argon", standard_atomic_weight=39.948
+ K:
+ doc: |
+ Z=19, name="potassium", standard_atomic_weight=39.0983
+ Ca:
+ doc: |
+ Z=20, name="calcium", standard_atomic_weight=40.078
+ Sc:
+ doc: |
+ Z=21, name="scandium", standard_atomic_weight=44.9559
+ Ti:
+ doc: |
+ Z=22, name="titanium", standard_atomic_weight=47.867
+ V:
+ doc: |
+ Z=23, name="vanadium", standard_atomic_weight=50.9415
+ Cr:
+ doc: |
+ Z=24, name="chromium", standard_atomic_weight=51.996
+ Mn:
+ doc: |
+ Z=25, name="manganese", standard_atomic_weight=54.938
+ Fe:
+ doc: |
+ Z=26, name="iron", standard_atomic_weight=55.845
+ Co:
+ doc: |
+ Z=27, name="cobalt", standard_atomic_weight=58.9332
+ Ni:
+ doc: |
+ Z=28, name="nickel", standard_atomic_weight=58.6934
+ Cu:
+ doc: |
+ Z=29, name="copper", standard_atomic_weight=63.546
+ Zn:
+ doc: |
+ Z=30, name="zinc", standard_atomic_weight=65.38
+ Ga:
+ doc: |
+ Z=31, name="gallium", standard_atomic_weight=69.72
+ Ge:
+ doc: |
+ Z=32, name="germanium", standard_atomic_weight=72.63
+ As:
+ doc: |
+ Z=33, name="arsenic", standard_atomic_weight=74.9216
+ Se:
+ doc: |
+ Z=34, name="selenium", standard_atomic_weight=78.971
+ Br:
+ doc: |
+ Z=35, name="bromine", standard_atomic_weight=79.904
+ Kr:
+ doc: |
+ Z=36, name="krypton", standard_atomic_weight=83.798
+ Rb:
+ doc: |
+ Z=37, name="rubidium", standard_atomic_weight=85.4678
+ Sr:
+ doc: |
+ Z=38, name="strontium", standard_atomic_weight=87.62
+ Y:
+ doc: |
+ Z=39, name="yttrium", standard_atomic_weight=88.9058
+ Zr:
+ doc: |
+ Z=40, name="zirconium", standard_atomic_weight=91.224
+ Nb:
+ doc: |
+ Z=41, name="niobium", standard_atomic_weight=92.9064
+ Mo:
+ doc: |
+ Z=42, name="molybdenum", standard_atomic_weight=95.95
+ Tc:
+ doc: |
+ Z=43, name="technetium", standard_atomic_weight=97.907
+ Ru:
+ doc: |
+ Z=44, name="ruthenium", standard_atomic_weight=101.07
+ Rh:
+ doc: |
+ Z=45, name="rhodium", standard_atomic_weight=102.906
+ Pd:
+ doc: |
+ Z=46, name="palladium", standard_atomic_weight=106.42
+ Ag:
+ doc: |
+ Z=47, name="silver", standard_atomic_weight=107.868
+ Cd:
+ doc: |
+ Z=48, name="cadmium", standard_atomic_weight=112.414
+ In:
+ doc: |
+ Z=49, name="indium", standard_atomic_weight=114.818
+ Sn:
+ doc: |
+ Z=50, name="tin", standard_atomic_weight=118.71
+ Sb:
+ doc: |
+ Z=51, name="antimony", standard_atomic_weight=121.76
+ Te:
+ doc: |
+ Z=52, name="tellurium", standard_atomic_weight=127.6
+ I:
+ doc: |
+ Z=53, name="iodine", standard_atomic_weight=126.905
+ Xe:
+ doc: |
+ Z=54, name="xenon", standard_atomic_weight=131.293
+ Cs:
+ doc: |
+ Z=55, name="cesium", standard_atomic_weight=132.905
+ Ba:
+ doc: |
+ Z=56, name="barium", standard_atomic_weight=137.327
+ La:
+ doc: |
+ Z=57, name="lanthanum", standard_atomic_weight=138.905
+ Ce:
+ doc: |
+ Z=58, name="cerium", standard_atomic_weight=140.116
+ Pr:
+ doc: |
+ Z=59, name="praseodymium", standard_atomic_weight=140.908
+ Nd:
+ doc: |
+ Z=60, name="neodymium", standard_atomic_weight=144.242
+ Pm:
+ doc: |
+ Z=61, name="promethium", standard_atomic_weight=145.0
+ Sm:
+ doc: |
+ Z=62, name="samarium", standard_atomic_weight=150.36
+ Eu:
+ doc: |
+ Z=63, name="europium", standard_atomic_weight=151.96
+ Gd:
+ doc: |
+ Z=64, name="gadolinium", standard_atomic_weight=157.25
+ Tb:
+ doc: |
+ Z=65, name="terbium", standard_atomic_weight=158.925
+ Dy:
+ doc: |
+ Z=66, name="dysprosium", standard_atomic_weight=162.5
+ Ho:
+ doc: |
+ Z=67, name="holmium", standard_atomic_weight=164.93
+ Er:
+ doc: |
+ Z=68, name="erbium", standard_atomic_weight=167.259
+ Tm:
+ doc: |
+ Z=69, name="thulium", standard_atomic_weight=168.934
+ Yb:
+ doc: |
+ Z=70, name="ytterbium", standard_atomic_weight=173.045
+ Lu:
+ doc: |
+ Z=71, name="lutetium", standard_atomic_weight=174.967
+ Hf:
+ doc: |
+ Z=72, name="hafnium", standard_atomic_weight=178.49
+ Ta:
+ doc: |
+ Z=73, name="tantalum", standard_atomic_weight=180.948
+ W:
+ doc: |
+ Z=74, name="tungsten", standard_atomic_weight=183.84
+ Re:
+ doc: |
+ Z=75, name="rhenium", standard_atomic_weight=186.207
+ Os:
+ doc: |
+ Z=76, name="osmium", standard_atomic_weight=190.23
+ Ir:
+ doc: |
+ Z=77, name="iridium", standard_atomic_weight=192.217
+ Pt:
+ doc: |
+ Z=78, name="platinum", standard_atomic_weight=195.084
+ Au:
+ doc: |
+ Z=79, name="gold", standard_atomic_weight=196.967
+ Hg:
+ doc: |
+ Z=80, name="mercury", standard_atomic_weight=200.592
+ Tl:
+ doc: |
+ Z=81, name="thallium", standard_atomic_weight=204.383
+ Pb:
+ doc: |
+ Z=82, name="lead", standard_atomic_weight=207.2
+ Bi:
+ doc: |
+ Z=83, name="bismuth", standard_atomic_weight=208.98
+ Po:
+ doc: |
+ Z=84, name="polonium", standard_atomic_weight=209.0
+ At:
+ doc: |
+ Z=85, name="astatine", standard_atomic_weight=210.0
+ Rn:
+ doc: |
+ Z=86, name="radon", standard_atomic_weight=222.0
+ Fr:
+ doc: |
+ Z=87, name="francium", standard_atomic_weight=223.0
+ Ra:
+ doc: |
+ Z=88, name="radium", standard_atomic_weight=226.0
+ Ac:
+ doc: |
+ Z=89, name="actinium", standard_atomic_weight=227.0
+ Th:
+ doc: |
+ Z=90, name="thorium", standard_atomic_weight=232.038
+ Pa:
+ doc: |
+ Z=91, name="protactinium", standard_atomic_weight=231.036
+ U:
+ doc: |
+ Z=92, name="uranium", standard_atomic_weight=238.029
+ Np:
+ doc: |
+ Z=93, name="neptunium", standard_atomic_weight=237.048
+ Pu:
+ doc: |
+ Z=94, name="plutonium", standard_atomic_weight=239.052
+ Am:
+ doc: |
+ Z=95, name="americium", standard_atomic_weight=243.0
+ Cm:
+ doc: |
+ Z=96, name="curium", standard_atomic_weight=247.0
+ Bk:
+ doc: |
+ Z=97, name="berkelium", standard_atomic_weight=247.0
+ Cf:
+ doc: |
+ Z=98, name="californium", standard_atomic_weight=251.0
+ Es:
+ doc: |
+ Z=99, name="einsteinium", standard_atomic_weight=252
+ Fm:
+ doc: |
+ Z=100, name="fermium", standard_atomic_weight=257
+ Md:
+ doc: |
+ Z=101, name="mendelevium", standard_atomic_weight=258
+ No:
+ doc: |
+ Z=102, name="nobelium", standard_atomic_weight=259
+ Lr:
+ doc: |
+ Z=103, name="lawrencium", standard_atomic_weight=266
+ Rf:
+ doc: |
+ Z=104, name="rutherfordium", standard_atomic_weight=267
+ Db:
+ doc: |
+ Z=105, name="dubnium", standard_atomic_weight=268
+ Sg:
+ doc: |
+ Z=106, name="seaborgium", standard_atomic_weight=269
+ Bh:
+ doc: |
+ Z=107, name="bohrium", standard_atomic_weight=270
+ Hs:
+ doc: |
+ Z=108, name="hassium", standard_atomic_weight=269
+ Mt:
+ doc: |
+ Z=109, name="meitnerium", standard_atomic_weight=278
+ Ds:
+ doc: |
+ Z=110, name="darmstadtium", standard_atomic_weight=281
+ Rg:
+ doc: |
+ Z=111, name="roentgenium", standard_atomic_weight=282
+ Cn:
+ doc: |
+ Z=112, name="copernicium", standard_atomic_weight=285
+ Nh:
+ doc: |
+ Z=113, name="nihonium", standard_atomic_weight=286
+ Fl:
+ doc: |
+ Z=114, name="flerovium", standard_atomic_weight=289
+ Mc:
+ doc: |
+ Z=115, name="moscovium", standard_atomic_weight=290
+ Lv:
+ doc: |
+ Z=116, name="livermorium", standard_atomic_weight=293
+ Ts:
+ doc: |
+ Z=117, name="tennessine", standard_atomic_weight=294
+ Og:
+ doc: |
+ Z=118, name="oganesson", standard_atomic_weight=294
+ level_iupac:
+ doc: |
+ IUPAC symbol of the electronic level.
+ For each level, the electronic orbital configuration is also given
+
+ For reference, see Jenkins, R., Manne, R., Robin, R., & Senemaud, C. (1991).
+ IUPAC—nomenclature system for x-ray spectroscopy. X-Ray Spectrometry, 20(3), 149-155.
+ enumeration:
+ K:
+ doc: |
+ same as 1s in level_xray
+ L1:
+ doc: |
+ 2s
+ L2:
+ doc: |
+ 2p_{1/2}
+ L3:
+ doc: |
+ 2p_{3/2}
+ M1:
+ doc: |
+ 3s
+ M2:
+ doc: |
+ 3p_{1/2}
+ M3:
+ doc: |
+ 3p_{3/2}
+ M4:
+ doc: |
+ 3d_{3/2}
+ M5:
+ doc: |
+ 3d_{5/2}
+ N1:
+ doc: |
+ 4s
+ N2:
+ doc: |
+ 4p_{1/2}
+ N3:
+ doc: |
+ 4p_{3/2}
+ N4:
+ doc: |
+ 4d_{3/2}
+ N5:
+ doc: |
+ 4d_{5/2}
+ N6:
+ doc: |
+ 4f_{5/2}
+ N7:
+ doc: |
+ 4f_{7/2}
+ O1:
+ doc: |
+ 5s
+ O2:
+ doc: |
+ 5p_{1/2}
+ O3:
+ doc: |
+ 5p_{3/2}
+ O4:
+ doc: |
+ 5d_{3/2}
+ O5:
+ doc: |
+ 5d_{5/2}
+ O6:
+ doc: |
+ 5f_{5/2}
+ O7:
+ doc: |
+ 5f_{7/2}
+ P1:
+ doc: |
+ 6s
+ P2:
+ doc: |
+ 6p_{1/2}
+ P3:
+ doc: |
+ 6p_{3/2}
+ level_electron_config:
+ doc: |
+ Electronic orbital configuration of the electronic level.
+ enumeration:
+ 1s:
+ doc: |
+ same as K in level_xray
+ 2s:
+ doc: |
+ L1
+ 2p1/2:
+ doc: |
+ L3
+ 3s:
+ doc: |
+ M1
+ 3p1/2:
+ doc: |
+ M2
+ 3p3/2:
+ doc: |
+ M3
+ 3d3/2:
+ doc: |
+ M4
+ 3d5/2:
+ doc: |
+ M5
+ 4s:
+ doc: |
+ N1
+ 4p1/2:
+ doc: |
+ N2
+ 4p3/2:
+ doc: |
+ N3
+ 4d3/2:
+ doc: |
+ N4
+ 4d5/2:
+ doc: |
+ N5
+ 4f5/2:
+ doc: |
+ N6
+ 4f7/2:
+ doc: |
+ N7
+ 5s:
+ doc: |
+ O1
+ 5p1/2:
+ doc: |
+ O2
+ 5p3/2:
+ doc: |
+ O3
+ 5d3/2:
+ doc: |
+ O4
+ 5d5/2:
+ doc: |
+ O5
+ 5f5/2:
+ doc: |
+ O6
+ 5f7/2:
+ doc: |
+ O7
+ 6s:
+ doc: |
+ P1
+ 6p1/2:
+ doc: |
+ P2
+ 6p3/2:
+ doc: |
+ P3
+ \@description:
+ doc: |
+ description of X-ray electronic level
+ \@default:
+ doc: |
+ .. index:: plotting
+
+ Declares which child group contains a path leading
+ to a :ref:`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.
+
+# ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++
+# f15a465a52ff8afca9ae40f5a19eaaa00cf0defe098ab7a0b76a3692acd4bc29
+#
+#
+#
+#
+#
+# Electronic level probed in X-ray spectroscopy or resonance experiments.
+#
+#
+#
+# Symbol of the chemical element.
+#
+# For each, the atomic number, common English name, and standard atomic weight are also given.
+#
+#
+# -
+#
+# Z=1, name="hydrogen", standard_atomic_weight=1.0078
+#
+#
+# -
+#
+# Z=2, name="helium", standard_atomic_weight=4.0026
+#
+#
+# -
+#
+# Z=3, name="lithium", standard_atomic_weight=6.94
+#
+#
+# -
+#
+# Z=4, name="beryllium", standard_atomic_weight=9.0122
+#
+#
+# -
+#
+# Z=5, name="boron", standard_atomic_weight=10.81
+#
+#
+# -
+#
+# Z=6, name="carbon", standard_atomic_weight=12.011
+#
+#
+# -
+#
+# Z=7, name="nitrogen", standard_atomic_weight=14.007
+#
+#
+# -
+#
+# Z=8, name="oxygen", standard_atomic_weight=15.999
+#
+#
+# -
+#
+# Z=9, name="fluorine", standard_atomic_weight=18.9984
+#
+#
+# -
+#
+# Z=10, name="neon", standard_atomic_weight=20.1797
+#
+#
+# -
+#
+# Z=11, name="sodium", standard_atomic_weight=22.9898
+#
+#
+# -
+#
+# Z=12, name="magnesium", standard_atomic_weight=24.305
+#
+#
+# -
+#
+# Z=13, name="aluminum", standard_atomic_weight=26.9815
+#
+#
+# -
+#
+# Z=14, name="silicon", standard_atomic_weight=28.085
+#
+#
+# -
+#
+# Z=15, name="phosphorus", standard_atomic_weight=30.9738
+#
+#
+# -
+#
+# Z=16, name="sulfur", standard_atomic_weight=32.06
+#
+#
+# -
+#
+# Z=17, name="chlorine", standard_atomic_weight=35.453
+#
+#
+# -
+#
+# Z=18, name="argon", standard_atomic_weight=39.948
+#
+#
+# -
+#
+# Z=19, name="potassium", standard_atomic_weight=39.0983
+#
+#
+# -
+#
+# Z=20, name="calcium", standard_atomic_weight=40.078
+#
+#
+# -
+#
+# Z=21, name="scandium", standard_atomic_weight=44.9559
+#
+#
+# -
+#
+# Z=22, name="titanium", standard_atomic_weight=47.867
+#
+#
+# -
+#
+# Z=23, name="vanadium", standard_atomic_weight=50.9415
+#
+#
+# -
+#
+# Z=24, name="chromium", standard_atomic_weight=51.996
+#
+#
+# -
+#
+# Z=25, name="manganese", standard_atomic_weight=54.938
+#
+#
+# -
+#
+# Z=26, name="iron", standard_atomic_weight=55.845
+#
+#
+# -
+#
+# Z=27, name="cobalt", standard_atomic_weight=58.9332
+#
+#
+# -
+#
+# Z=28, name="nickel", standard_atomic_weight=58.6934
+#
+#
+# -
+#
+# Z=29, name="copper", standard_atomic_weight=63.546
+#
+#
+# -
+#
+# Z=30, name="zinc", standard_atomic_weight=65.38
+#
+#
+# -
+#
+# Z=31, name="gallium", standard_atomic_weight=69.72
+#
+#
+# -
+#
+# Z=32, name="germanium", standard_atomic_weight=72.63
+#
+#
+# -
+#
+# Z=33, name="arsenic", standard_atomic_weight=74.9216
+#
+#
+# -
+#
+# Z=34, name="selenium", standard_atomic_weight=78.971
+#
+#
+# -
+#
+# Z=35, name="bromine", standard_atomic_weight=79.904
+#
+#
+# -
+#
+# Z=36, name="krypton", standard_atomic_weight=83.798
+#
+#
+# -
+#
+# Z=37, name="rubidium", standard_atomic_weight=85.4678
+#
+#
+# -
+#
+# Z=38, name="strontium", standard_atomic_weight=87.62
+#
+#
+# -
+#
+# Z=39, name="yttrium", standard_atomic_weight=88.9058
+#
+#
+# -
+#
+# Z=40, name="zirconium", standard_atomic_weight=91.224
+#
+#
+# -
+#
+# Z=41, name="niobium", standard_atomic_weight=92.9064
+#
+#
+# -
+#
+# Z=42, name="molybdenum", standard_atomic_weight=95.95
+#
+#
+# -
+#
+# Z=43, name="technetium", standard_atomic_weight=97.907
+#
+#
+# -
+#
+# Z=44, name="ruthenium", standard_atomic_weight=101.07
+#
+#
+# -
+#
+# Z=45, name="rhodium", standard_atomic_weight=102.906
+#
+#
+# -
+#
+# Z=46, name="palladium", standard_atomic_weight=106.42
+#
+#
+# -
+#
+# Z=47, name="silver", standard_atomic_weight=107.868
+#
+#
+# -
+#
+# Z=48, name="cadmium", standard_atomic_weight=112.414
+#
+#
+# -
+#
+# Z=49, name="indium", standard_atomic_weight=114.818
+#
+#
+# -
+#
+# Z=50, name="tin", standard_atomic_weight=118.71
+#
+#
+# -
+#
+# Z=51, name="antimony", standard_atomic_weight=121.76
+#
+#
+# -
+#
+# Z=52, name="tellurium", standard_atomic_weight=127.6
+#
+#
+# -
+#
+# Z=53, name="iodine", standard_atomic_weight=126.905
+#
+#
+# -
+#
+# Z=54, name="xenon", standard_atomic_weight=131.293
+#
+#
+# -
+#
+# Z=55, name="cesium", standard_atomic_weight=132.905
+#
+#
+# -
+#
+# Z=56, name="barium", standard_atomic_weight=137.327
+#
+#
+# -
+#
+# Z=57, name="lanthanum", standard_atomic_weight=138.905
+#
+#
+# -
+#
+# Z=58, name="cerium", standard_atomic_weight=140.116
+#
+#
+# -
+#
+# Z=59, name="praseodymium", standard_atomic_weight=140.908
+#
+#
+# -
+#
+# Z=60, name="neodymium", standard_atomic_weight=144.242
+#
+#
+# -
+#
+# Z=61, name="promethium", standard_atomic_weight=145.0
+#
+#
+# -
+#
+# Z=62, name="samarium", standard_atomic_weight=150.36
+#
+#
+# -
+#
+# Z=63, name="europium", standard_atomic_weight=151.96
+#
+#
+# -
+#
+# Z=64, name="gadolinium", standard_atomic_weight=157.25
+#
+#
+# -
+#
+# Z=65, name="terbium", standard_atomic_weight=158.925
+#
+#
+# -
+#
+# Z=66, name="dysprosium", standard_atomic_weight=162.5
+#
+#
+# -
+#
+# Z=67, name="holmium", standard_atomic_weight=164.93
+#
+#
+# -
+#
+# Z=68, name="erbium", standard_atomic_weight=167.259
+#
+#
+# -
+#
+# Z=69, name="thulium", standard_atomic_weight=168.934
+#
+#
+# -
+#
+# Z=70, name="ytterbium", standard_atomic_weight=173.045
+#
+#
+# -
+#
+# Z=71, name="lutetium", standard_atomic_weight=174.967
+#
+#
+# -
+#
+# Z=72, name="hafnium", standard_atomic_weight=178.49
+#
+#
+# -
+#
+# Z=73, name="tantalum", standard_atomic_weight=180.948
+#
+#
+# -
+#
+# Z=74, name="tungsten", standard_atomic_weight=183.84
+#
+#
+# -
+#
+# Z=75, name="rhenium", standard_atomic_weight=186.207
+#
+#
+# -
+#
+# Z=76, name="osmium", standard_atomic_weight=190.23
+#
+#
+# -
+#
+# Z=77, name="iridium", standard_atomic_weight=192.217
+#
+#
+# -
+#
+# Z=78, name="platinum", standard_atomic_weight=195.084
+#
+#
+# -
+#
+# Z=79, name="gold", standard_atomic_weight=196.967
+#
+#
+# -
+#
+# Z=80, name="mercury", standard_atomic_weight=200.592
+#
+#
+# -
+#
+# Z=81, name="thallium", standard_atomic_weight=204.383
+#
+#
+# -
+#
+# Z=82, name="lead", standard_atomic_weight=207.2
+#
+#
+# -
+#
+# Z=83, name="bismuth", standard_atomic_weight=208.98
+#
+#
+# -
+#
+# Z=84, name="polonium", standard_atomic_weight=209.0
+#
+#
+# -
+#
+# Z=85, name="astatine", standard_atomic_weight=210.0
+#
+#
+# -
+#
+# Z=86, name="radon", standard_atomic_weight=222.0
+#
+#
+# -
+#
+# Z=87, name="francium", standard_atomic_weight=223.0
+#
+#
+# -
+#
+# Z=88, name="radium", standard_atomic_weight=226.0
+#
+#
+# -
+#
+# Z=89, name="actinium", standard_atomic_weight=227.0
+#
+#
+# -
+#
+# Z=90, name="thorium", standard_atomic_weight=232.038
+#
+#
+# -
+#
+# Z=91, name="protactinium", standard_atomic_weight=231.036
+#
+#
+# -
+#
+# Z=92, name="uranium", standard_atomic_weight=238.029
+#
+#
+# -
+#
+# Z=93, name="neptunium", standard_atomic_weight=237.048
+#
+#
+# -
+#
+# Z=94, name="plutonium", standard_atomic_weight=239.052
+#
+#
+# -
+#
+# Z=95, name="americium", standard_atomic_weight=243.0
+#
+#
+# -
+#
+# Z=96, name="curium", standard_atomic_weight=247.0
+#
+#
+# -
+#
+# Z=97, name="berkelium", standard_atomic_weight=247.0
+#
+#
+# -
+#
+# Z=98, name="californium", standard_atomic_weight=251.0
+#
+#
+# -
+#
+# Z=99, name="einsteinium", standard_atomic_weight=252
+#
+#
+# -
+#
+# Z=100, name="fermium", standard_atomic_weight=257
+#
+#
+# -
+#
+# Z=101, name="mendelevium", standard_atomic_weight=258
+#
+#
+# -
+#
+# Z=102, name="nobelium", standard_atomic_weight=259
+#
+#
+# -
+#
+# Z=103, name="lawrencium", standard_atomic_weight=266
+#
+#
+# -
+#
+# Z=104, name="rutherfordium", standard_atomic_weight=267
+#
+#
+# -
+#
+# Z=105, name="dubnium", standard_atomic_weight=268
+#
+#
+# -
+#
+# Z=106, name="seaborgium", standard_atomic_weight=269
+#
+#
+# -
+#
+# Z=107, name="bohrium", standard_atomic_weight=270
+#
+#
+# -
+#
+# Z=108, name="hassium", standard_atomic_weight=269
+#
+#
+# -
+#
+# Z=109, name="meitnerium", standard_atomic_weight=278
+#
+#
+# -
+#
+# Z=110, name="darmstadtium", standard_atomic_weight=281
+#
+#
+# -
+#
+# Z=111, name="roentgenium", standard_atomic_weight=282
+#
+#
+# -
+#
+# Z=112, name="copernicium", standard_atomic_weight=285
+#
+#
+# -
+#
+# Z=113, name="nihonium", standard_atomic_weight=286
+#
+#
+# -
+#
+# Z=114, name="flerovium", standard_atomic_weight=289
+#
+#
+# -
+#
+# Z=115, name="moscovium", standard_atomic_weight=290
+#
+#
+# -
+#
+# Z=116, name="livermorium", standard_atomic_weight=293
+#
+#
+# -
+#
+# Z=117, name="tennessine", standard_atomic_weight=294
+#
+#
+# -
+#
+# Z=118, name="oganesson", standard_atomic_weight=294
+#
+#
+#
+#
+#
+#
+# IUPAC symbol of the electronic level.
+# For each level, the electronic orbital configuration is also given
+#
+# For reference, see Jenkins, R., Manne, R., Robin, R., & Senemaud, C. (1991).
+# IUPAC—nomenclature system for x-ray spectroscopy. X-Ray Spectrometry, 20(3), 149-155.
+#
+#
+# -
+#
+# same as 1s in level_xray
+#
+#
+# -
+#
+# 2s
+#
+#
+# -
+#
+# 2p_{1/2}
+#
+#
+# -
+#
+# 2p_{3/2}
+#
+#
+# -
+#
+# 3s
+#
+#
+# -
+#
+# 3p_{1/2}
+#
+#
+# -
+#
+# 3p_{3/2}
+#
+#
+# -
+#
+# 3d_{3/2}
+#
+#
+# -
+#
+# 3d_{5/2}
+#
+#
+# -
+#
+# 4s
+#
+#
+# -
+#
+# 4p_{1/2}
+#
+#
+# -
+#
+# 4p_{3/2}
+#
+#
+# -
+#
+# 4d_{3/2}
+#
+#
+# -
+#
+# 4d_{5/2}
+#
+#
+# -
+#
+# 4f_{5/2}
+#
+#
+# -
+#
+# 4f_{7/2}
+#
+#
+# -
+#
+# 5s
+#
+#
+# -
+#
+# 5p_{1/2}
+#
+#
+# -
+#
+# 5p_{3/2}
+#
+#
+# -
+#
+# 5d_{3/2}
+#
+#
+# -
+#
+# 5d_{5/2}
+#
+#
+# -
+#
+# 5f_{5/2}
+#
+#
+# -
+#
+# 5f_{7/2}
+#
+#
+# -
+#
+# 6s
+#
+#
+# -
+#
+# 6p_{1/2}
+#
+#
+# -
+#
+# 6p_{3/2}
+#
+#
+#
+#
+#
+#
+# Electronic orbital configuration of the electronic level.
+#
+#
+# -
+#
+# same as K in level_xray
+#
+#
+# -
+#
+# L1
+#
+#
+# -
+#
+# L3
+#
+#
+# -
+#
+# M1
+#
+#
+# -
+#
+# M2
+#
+#
+# -
+#
+# M3
+#
+#
+# -
+#
+# M4
+#
+#
+# -
+#
+# M5
+#
+#
+# -
+#
+# N1
+#
+#
+# -
+#
+# N2
+#
+#
+# -
+#
+# N3
+#
+#
+# -
+#
+# N4
+#
+#
+# -
+#
+# N5
+#
+#
+# -
+#
+# N6
+#
+#
+# -
+#
+# N7
+#
+#
+# -
+#
+# O1
+#
+#
+# -
+#
+# O2
+#
+#
+# -
+#
+# O3
+#
+#
+# -
+#
+# O4
+#
+#
+# -
+#
+# O5
+#
+#
+# -
+#
+# O6
+#
+#
+# -
+#
+# O7
+#
+#
+# -
+#
+# P1
+#
+#
+# -
+#
+# P2
+#
+#
+# -
+#
+# P3
+#
+#
+#
+#
+#
+#
+# description of X-ray electronic level
+#
+#
+#
+#
+# .. index:: plotting
+#
+# Declares which child group contains a path leading
+# to a :ref:`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.
+#
+#
+#
diff --git a/contributed_definitions/nyaml/NXelectronanalyser.yaml b/contributed_definitions/nyaml/NXelectronanalyser.yaml
index b3264af8c5..d576ffd6f4 100644
--- a/contributed_definitions/nyaml/NXelectronanalyser.yaml
+++ b/contributed_definitions/nyaml/NXelectronanalyser.yaml
@@ -1,6 +1,10 @@
category: base
doc: |
Subclass of NXinstrument to describe a photoelectron analyser.
+
+ Refers to Term `12.59`_ of the ISO 18115-1:2023 specification.
+
+ .. _12.59: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:12.59
symbols:
doc: |
The symbols used in the schema to specify e.g. dimensions of arrays
@@ -9,6 +13,8 @@ symbols:
physical quantity)
nsa: |
Number of slow axes (axes acquired scanning a physical quantity)
+ n_transmission_function: |
+ Number of data points in the transmission function.
type: group
NXelectronanalyser(NXobject):
description(NX_CHAR):
@@ -21,10 +27,34 @@ NXelectronanalyser(NXobject):
type: NX_CHAR
doc: |
Acronym or other shorthand name
+ work_function(NX_FLOAT):
+ unit: NX_ENERGY
+ doc: |
+ Work function of the electron analyser.
+
+ The work function of a uniform surface of a conductor is the minimum energy required to remove
+ an electron from the interior of the solid to a vacuum level immediately outside the solid surface.
+
+ The kinetic energy :math:`E_K` of a photoelectron emitted from an energy-level with binding energy
+ :math:`E_B` below the Fermi level is given by :math:`E_K = h\nu - E_B - e \phi_{\mathrm{sample}}`,
+ where :math:`\phi_{\mathrm{sample}}` is the work function of the sample surface. In PES measurements,
+ the sample and the spectrometer (with work function :math:`\phi_{\mathrm{spectr.}}`) are electrically
+ connected and therefore their Fermi levels are aligned. Due to the difference in local vacuum level
+ between the sample and spectrometer, there exists an electric potential difference (contact potential)
+ :math:`\Delta\phi = \phi_{\mathrm{sample}} - \phi_{\mathrm{spectr.}}`. The measured kinetic energy of
+ a photoelectron in PES is therefore given by
+ :math:`E_K^{\mathrm{meas.}} = h\nu - E_B + \Delta \phi = h\nu - E_B - e \phi_{\mathrm{spectr.}}`.
+ As a result, the measured kinetic energy :math:`E_K^{\mathrm{meas.}}` of a photoelectron is `independent`
+ of the sample work function. Nonetheless, the work function :math:`\phi_s` needs to be known to
+ accurately determine the binding energy scale.
energy_resolution(NX_FLOAT):
unit: NX_ENERGY
doc: |
Energy resolution of the electron analyser (FWHM of gaussian broadening)
+
+ Refers to Term `10.7`_ of the ISO 18115-1:2023 specification.
+
+ .. _10.7: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:10.7
momentum_resolution(NX_FLOAT):
unit: NX_WAVENUMBER
doc: |
@@ -37,6 +67,10 @@ NXelectronanalyser(NXobject):
unit: NX_LENGTH
doc: |
Spatial resolution of the electron analyser (Airy disk radius)
+
+ Refers to Term `10.15`_ ff. of the ISO 18115-1:2023 specification.
+
+ .. _10.15: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:10.15
fast_axes(NX_CHAR):
doc: |
List of the axes that are acquired simultaneously by the detector.
@@ -63,9 +97,44 @@ NXelectronanalyser(NXobject):
dimensions:
rank: 1
dim: [[1, nsa]]
+ transmission_function(NXdata):
+ doc: |
+ Transmission function of the electron analyser.
+
+ The transmission function (TF) specifies the detection efficiency per solid angle for electrons of
+ different kinetic energy passing through the electron analyser. It depends on the spectrometer
+ geometry as well as operation settings such as lens mode and pass energy.
+ The transmission function is usually given as kinetic energy vs. relative intensity.
+
+ The TF is used for calibration of the intensity scale in quantitative XPS. Without proper
+ transmission correction, a comparison of results measured from the same sample using different
+ operating modes for an instrument would show significant variations in atomic
+ concentrations.
+
+ Refers to Term `7.15`_ ff. of the ISO 18115-1:2023 specification.
+
+ .. _7.15: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:7.15
+ \@signal:
+ enumeration: [relative_intensity]
+ \@axes:
+ enumeration: [kinetic_energy]
+ kinetic_energy(NX_FLOAT):
+ unit: NX_ENERGY
+ doc: |
+ Kinetic energy values
+ dimensions:
+ rank: 1
+ dim: [[1, n_transmission_function]]
+ relative_intensity(NX_FLOAT):
+ unit: NX_UNITLESS
+ doc: |
+ Relative transmission efficiency for the given kinetic energies
+ dimensions:
+ rank: 1
+ dim: [[1, n_transmission_function]]
depends_on(NX_CHAR):
doc: |
- Refers to the last transformation specifying the positon of the manipulator in
+ Refers to the last transformation specifying the position of the manipulator in
the NXtransformations chain.
(NXtransformations):
doc: |
@@ -98,7 +167,7 @@ NXelectronanalyser(NXobject):
(NXfabrication):
# ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++
-# 8f8507c0c2afbfa0bd1b18e863e8f7c90326769b8ffcc52f48bf88712e1c5b15
+# 9c03d1de4220953d6aaa62a9a36d641e38a166d3f5ca2f4e2e990c8ab9f9c7f8
#
#
#
#
+#
+#
+# The symbols used in the schema to specify e.g. dimensions of arrays
+#
+#
+#
+# Number of data points in the transmission function.
+#
+#
+#
#
# This is the most general application definition for multidimensional
# photoelectron spectroscopy.
+#
+# Groups and fields are named according to the
+# `ISO 18115-1:2023`_ specification as well as the `IUPAC Recommendations 2020`_.
+#
+# .. _ISO 18115-1:2023: https://www.iso.org/standard/74811.html
+# .. _IUPAC Recommendations 2020: https://doi.org/10.1515/pac-2019-0404
#
#
#
@@ -410,10 +617,21 @@ NXmpes(NXobject):
#
#
#
-# A name of the experimental method according
-# to the `ISO 18115-1:2023`_ specification.
+# A name of the experimental method according to `Clause 11`_ of
+# the `ISO 18115-1:2023`_ specification.
+#
+# Examples include:
+# * X-ray photoelectron spectroscopy (XPS)
+# * angle-resolved X-ray photoelectron spectroscopy (ARXPS)
+# * ultraviolet photoelectron spectroscopy (UPS)
+# * angle-resolved photoelectron spectroscopy (ARPES)
+# * hard X-ray photoemission spectroscopy (HAXPES)
+# * near ambient pressure X-ray photoelectron spectroscopy (NAPXPS)
+# * photoelectron emission microscopy (PEEM)
+# * electron spectroscopy for chemical analysis (ESCA)
#
# .. _ISO 18115-1:2023: https://www.iso.org/standard/74811.html
+# .. _Clause 11: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:sec:11
#
#
#
@@ -456,7 +674,22 @@ NXmpes(NXobject):
#
#
#
+#
+# MPES spectrometer
+#
+# Refers to Term `12.58`_ of the ISO 18115-1:2023 specification.
+#
+# .. _12.58: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:12.58
+#
#
+#
+# Overall energy resolution of the MPES instrument
+#
+# Refers to Terms `10.7`_ ff. and `10.24`_ of the ISO 18115-1:2023 specification.
+#
+# .. _10.7: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:10.7
+# .. _10.24: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:10.24
+#
#
#
#
@@ -519,7 +752,7 @@ NXmpes(NXobject):
# The beam emitted by this source.
# Should be named with the same appendix, e.g.,
# for `source_probe` it should refer to `beam_probe`.
-# Refers to the same concept as /NXentry/NXinstrument/source_TYPE
+# Refers to the same concept as /NXentry/NXinstrument/beam_TYPE
# and may be linked.
#
#
@@ -528,6 +761,20 @@ NXmpes(NXobject):
# we have a subdefinition NXlink to refer to a path.
# This would also be helpful for NXtransformations-->
#
+#
+#
+# The beam emitted by this source.
+# Should be named with the same appendix, e.g.,
+# for `source_probe` it should refer to `beam_probe`.
+# Refers to the same concept as /NXentry/NXinstrument/source_TYPE
+# and may be linked.
+#
+#
+#
+#
+#
#
#
#
@@ -543,10 +790,10 @@ NXmpes(NXobject):
#
#
#
-# The beam emitted by this source.
+# The source that emitted this beam.
# Should be named with the same appendix, e.g.,
# for `beam_probe` it should refer to `source_probe`.
-# Refers to the same concept as /NXentry/NXinstrument/beam_TYPE
+# Refers to the same concept as /NXentry/NXinstrument/source_TYPE
# and may be linked.
#
#
@@ -562,10 +809,15 @@ NXmpes(NXobject):
#
# Energy resolution of the analyser with the current setting. May be linked from a
# NXcalibration.
+#
+# Refers to Term `10.24`_ of the ISO 18115-1:2023 specification.
+#
+# .. _10.24: https://www.iso.org/obp/ui/en/#iso:std:iso:18115:-1:ed-3:v1:en:term:10.24
#
#
-#
+#
#
+#
#
#