From 00253bddf5af1da54202d6cb2ef8c842871494e5 Mon Sep 17 00:00:00 2001 From: Marius Retegan Date: Mon, 23 Feb 2026 14:41:40 +0100 Subject: [PATCH 1/8] Update the list of absorption edges and description --- base_classes/NXedge.nxdl.xml | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/base_classes/NXedge.nxdl.xml b/base_classes/NXedge.nxdl.xml index 6f9a752cab..e142d66972 100644 --- a/base_classes/NXedge.nxdl.xml +++ b/base_classes/NXedge.nxdl.xml @@ -24,10 +24,18 @@ - Absorption edge - + + An absorption edge is a sharp discontinuity in the X-ray absorption spectrum + of an element that occurs when the incident photon energy equals the binding + energy of a core electron, enabling photoionization of that shell. + + - Name of the edge + Name of the absorption edge according to the `IUPAC notation`_. Each + edge is labelled according to the shell from which the electron is + ejected. + + .. _IUPAC notation: https://doi.org/10.1002/xrs.1300200308 @@ -49,9 +57,15 @@ + + + + + + From cdaf3cc044d231cfe00bb773f302c8c57e393667 Mon Sep 17 00:00:00 2001 From: Marius Retegan Date: Mon, 23 Feb 2026 15:09:44 +0100 Subject: [PATCH 2/8] Limit the maxOccurs --- base_classes/NXedge.nxdl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base_classes/NXedge.nxdl.xml b/base_classes/NXedge.nxdl.xml index e142d66972..6469516c41 100644 --- a/base_classes/NXedge.nxdl.xml +++ b/base_classes/NXedge.nxdl.xml @@ -29,7 +29,7 @@ of an element that occurs when the incident photon energy equals the binding energy of a core electron, enabling photoionization of that shell. - + Name of the absorption edge according to the `IUPAC notation`_. Each edge is labelled according to the shell from which the electron is From 58dbdc49fae76786aa708d329e483977846f015a Mon Sep 17 00:00:00 2001 From: Marius Retegan Date: Mon, 23 Feb 2026 15:10:02 +0100 Subject: [PATCH 3/8] Remove unnecessary newline --- base_classes/NXedge.nxdl.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/base_classes/NXedge.nxdl.xml b/base_classes/NXedge.nxdl.xml index 6469516c41..876e55025a 100644 --- a/base_classes/NXedge.nxdl.xml +++ b/base_classes/NXedge.nxdl.xml @@ -67,6 +67,5 @@ - From 01ad1b45f851b6e316b8d4895aed856f146582b3 Mon Sep 17 00:00:00 2001 From: Marius Retegan Date: Mon, 23 Feb 2026 16:51:41 +0100 Subject: [PATCH 4/8] Add IUPAC and electronic level correspondence --- base_classes/NXedge.nxdl.xml | 99 ++++++++++++++++++++++++++++++++++-- 1 file changed, 96 insertions(+), 3 deletions(-) diff --git a/base_classes/NXedge.nxdl.xml b/base_classes/NXedge.nxdl.xml index 876e55025a..4879bc7c9b 100644 --- a/base_classes/NXedge.nxdl.xml +++ b/base_classes/NXedge.nxdl.xml @@ -31,9 +31,74 @@ - Name of the absorption edge according to the `IUPAC notation`_. Each - edge is labelled according to the shell from which the electron is - ejected. + Name of the absorption edge. The edge can be specified either using the + `IUPAC notation`_ (e.g. ``K``, ``L2``, ``M5``), where each label + identifies the shell from which the electron is ejected, or using the + spectroscopic electronic level notation in LaTeX style + (e.g. ``1s``, ``2p_{1/2}``, ``3d_{5/2}``). + The following table lists the correspondence between the two notations: + + .. list-table:: + :header-rows: 1 + + * - IUPAC + - Electronic level + * - K + - 1s + * - L1 + - 2s + * - L2 + - :math:`2p_{1/2}` + * - L3 + - :math:`2p_{3/2}` + * - M1 + - 3s + * - M2 + - :math:`3p_{1/2}` + * - M3 + - :math:`3p_{3/2}` + * - M4 + - :math:`3d_{3/2}` + * - M5 + - :math:`3d_{5/2}` + * - N1 + - 4s + * - N2 + - :math:`4p_{1/2}` + * - N3 + - :math:`4p_{3/2}` + * - N4 + - :math:`4d_{3/2}` + * - N5 + - :math:`4d_{5/2}` + * - N6 + - :math:`4f_{5/2}` + * - N7 + - :math:`4f_{7/2}` + * - O1 + - 5s + * - O2 + - :math:`5p_{1/2}` + * - O3 + - :math:`5p_{3/2}` + * - O4 + - :math:`5d_{3/2}` + * - O5 + - :math:`5d_{5/2}` + * - O6 + - :math:`5f_{5/2}` + * - O7 + - :math:`5f_{7/2}` + * - P1 + - 6s + * - P2 + - :math:`6p_{1/2}` + * - P3 + - :math:`6p_{3/2}` + * - P4 + - :math:`6d_{3/2}` + * - P5 + - :math:`6d_{5/2}` .. _IUPAC notation: https://doi.org/10.1002/xrs.1300200308 @@ -66,6 +131,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + From ef7d434b506d7972dcf9274df02d2950c30ffaab Mon Sep 17 00:00:00 2001 From: Marius Retegan Date: Thu, 26 Feb 2026 08:49:20 +0100 Subject: [PATCH 5/8] Update the list of emission lines (#8) --- base_classes/NXemission_line.nxdl.xml | 626 +++++++++++++++++++++++++ base_classes/NXemission_lines.nxdl.xml | 46 -- base_classes/NXxas_mode.nxdl.xml | 6 +- 3 files changed, 631 insertions(+), 47 deletions(-) create mode 100644 base_classes/NXemission_line.nxdl.xml delete mode 100644 base_classes/NXemission_lines.nxdl.xml diff --git a/base_classes/NXemission_line.nxdl.xml b/base_classes/NXemission_line.nxdl.xml new file mode 100644 index 0000000000..12c11aa89f --- /dev/null +++ b/base_classes/NXemission_line.nxdl.xml @@ -0,0 +1,626 @@ + + + + + + An emission line is a spectral line with a discrete frequency that is + characteristic of the emitting atom. + + + + The emission line name using either the `IUPAC notation`_, i.e. initial and final + edge separated by a hyphen (e.g. ``K-L3``), or the Latinized Siegbahn + notation (e.g. ``Ka1``). + + Correspondence between IUPAC and Siegbahn notations: + + .. list-table:: + :header-rows: 1 + + * - IUPAC + - Siegbahn + - Latinized Siegbahn + * - K-L3 + - :math:`K\alpha_1` + - Ka1 + * - K-L2 + - :math:`K\alpha_2` + - Ka2 + * - K-L1 + - :math:`K\alpha_3` + - Ka3 + * - K-M3 + - :math:`K\beta_1` + - Kb1 + * - K-N3 + - :math:`K\beta_2'` + - Kb2\' + * - K-N2 + - :math:`K\beta_2''` + - Kb2\'\' + * - K-M2 + - :math:`K\beta_3` + - Kb3 + * - K-N5 + - :math:`K\beta_4'` + - Kb4\' + * - K-N4 + - :math:`K\beta_4''` + - Kb4\'\' + * - K-N4 + - :math:`K\beta_{4x}` + - Kb4x + * - K-M5 + - :math:`K\beta_5'` + - Kb5\' + * - K-M4 + - :math:`K\beta_5''` + - Kb5\'\' + * - L3-M5 + - :math:`L\alpha_1` + - La1 + * - L3-M4 + - :math:`L\alpha_2` + - La2 + * - L2-M4 + - :math:`L\beta_1` + - Lb1 + * - L3-N5 + - :math:`L\beta_2` + - Lb2 + * - L1-M3 + - :math:`L\beta_3` + - Lb3 + * - L1-M2 + - :math:`L\beta_4` + - Lb4 + * - L3-O4,5 + - :math:`L\beta_5` + - Lb5 + * - L3-N1 + - :math:`L\beta_6` + - Lb6 + * - L3-O1 + - :math:`L\beta_7` + - Lb7 + * - L3-N6,7 + - :math:`L\beta_7'` + - Lb7\' + * - L1-M5 + - :math:`L\beta_9` + - Lb9 + * - L1-M4 + - :math:`L\beta_{10}` + - Lb10 + * - L3-N4 + - :math:`L\beta_{15}` + - Lb15 + * - L2-M3 + - :math:`L\beta_{17}` + - Lb17 + * - L2-N4 + - :math:`L\gamma_1` + - Lg1 + * - L1-N2 + - :math:`L\gamma_2` + - Lg2 + * - L1-N3 + - :math:`L\gamma_3` + - Lg3 + * - L1-O3 + - :math:`L\gamma_4` + - Lg4 + * - L1-O2 + - :math:`L\gamma_4'` + - Lg4\' + * - L2-N1 + - :math:`L\gamma_5` + - Lg5 + * - L2-O4 + - :math:`L\gamma_6` + - Lg6 + * - L2-O1 + - :math:`L\gamma_8` + - Lg8 + * - L2-N6,7 + - :math:`L\gamma_8'` + - Lg8\' + * - L2-M1 + - :math:`L\eta` + - Ln + * - L3-M1 + - :math:`Ll` + - Ll + * - L3-M3 + - :math:`Ls` + - Ls + * - L3-M2 + - :math:`Lt` + - Lt + * - L3-N6,7 + - :math:`Lu` + - Lu + * - L2-N6,7 + - :math:`Lv` + - Lv + * - M5-N7 + - :math:`M\alpha_1` + - Ma1 + * - M5-N6 + - :math:`M\alpha_2` + - Ma2 + * - M4-N6 + - :math:`M\beta` + - Mb + * - M3-N5 + - :math:`M\gamma` + - Mg + * - M4,5-N2,3 + - :math:`M\zeta` + - Mz + + .. _IUPAC notation: https://doi.org/10.1002/xrs.1300200308 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Energy of the emission line. + + + diff --git a/base_classes/NXemission_lines.nxdl.xml b/base_classes/NXemission_lines.nxdl.xml deleted file mode 100644 index 395ecb2ed3..0000000000 --- a/base_classes/NXemission_lines.nxdl.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - Emission lines - - - The emission lines are writen using the IUPAC notation, i.e. an - initial and final edge seprated by a hyphen. - - TODO: Extend the enumeration to include all possible emission lines. - - - - - - - - - - - - - diff --git a/base_classes/NXxas_mode.nxdl.xml b/base_classes/NXxas_mode.nxdl.xml index 12d1fd63bb..02da979ea5 100644 --- a/base_classes/NXxas_mode.nxdl.xml +++ b/base_classes/NXxas_mode.nxdl.xml @@ -135,7 +135,11 @@ - + + + Collection of emission lines detected or used in this measurement. + + From 057fc06d3dbd95e6e5de22ca97a55e11acbe38da Mon Sep 17 00:00:00 2001 From: Marius Retegan Date: Thu, 26 Feb 2026 09:27:02 +0100 Subject: [PATCH 6/8] Add simplified ASCII notation --- base_classes/NXedge.nxdl.xml | 85 +++++++++++++++++++++++++----------- 1 file changed, 60 insertions(+), 25 deletions(-) diff --git a/base_classes/NXedge.nxdl.xml b/base_classes/NXedge.nxdl.xml index 4879bc7c9b..f8d8eefe43 100644 --- a/base_classes/NXedge.nxdl.xml +++ b/base_classes/NXedge.nxdl.xml @@ -34,71 +34,101 @@ Name of the absorption edge. The edge can be specified either using the `IUPAC notation`_ (e.g. ``K``, ``L2``, ``M5``), where each label identifies the shell from which the electron is ejected, or using the - spectroscopic electronic level notation in LaTeX style - (e.g. ``1s``, ``2p_{1/2}``, ``3d_{5/2}``). - The following table lists the correspondence between the two notations: + spectroscopic electronic level notation with ASCII characters only + (e.g. ``1s``, ``2p1/2``, ``3d5/2``). + + Correspondence between IUPAC and Siegbahn notations: .. list-table:: :header-rows: 1 * - IUPAC - Electronic level + - ASCII notation * - K - 1s + - 1s * - L1 - 2s + - 2s * - L2 - :math:`2p_{1/2}` + - 2p1/2 * - L3 - :math:`2p_{3/2}` + - 2p3/2 * - M1 - 3s + - 3s * - M2 - :math:`3p_{1/2}` + - 3p1/2 * - M3 - :math:`3p_{3/2}` + - 3p3/2 * - M4 - :math:`3d_{3/2}` + - 3d3/2 * - M5 - :math:`3d_{5/2}` + - 3d5/2 * - N1 - 4s + - 4s * - N2 - :math:`4p_{1/2}` + - 4p1/2 * - N3 - :math:`4p_{3/2}` + - 4p3/2 * - N4 - :math:`4d_{3/2}` + - 4d3/2 * - N5 - :math:`4d_{5/2}` + - 4d5/2 * - N6 - :math:`4f_{5/2}` + - 4f5/2 * - N7 - :math:`4f_{7/2}` + - 4f7/2 * - O1 - 5s + - 5s * - O2 - :math:`5p_{1/2}` + - 5p1/2 * - O3 - :math:`5p_{3/2}` + - 5p3/2 * - O4 - :math:`5d_{3/2}` + - 5d3/2 * - O5 - :math:`5d_{5/2}` + - 5d5/2 * - O6 - :math:`5f_{5/2}` + - 5f5/2 * - O7 - :math:`5f_{7/2}` + - 5f7/2 * - P1 - 6s + - 6s * - P2 - :math:`6p_{1/2}` + - 6p1/2 * - P3 - :math:`6p_{3/2}` + - 6p3/2 * - P4 - :math:`6d_{3/2}` + - 6d3/2 * - P5 - :math:`6d_{5/2}` + - 6d5/2 .. _IUPAC notation: https://doi.org/10.1002/xrs.1300200308 @@ -133,32 +163,37 @@ - - + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + + + + Energy of the absorption edge. + + From be82a7677baab288339bd8a908b92837c170bf16 Mon Sep 17 00:00:00 2001 From: Marius Retegan Date: Thu, 26 Feb 2026 10:17:07 +0100 Subject: [PATCH 7/8] Remove third column as it is rather redundant --- base_classes/NXedge.nxdl.xml | 41 ++++++------------------------------ 1 file changed, 6 insertions(+), 35 deletions(-) diff --git a/base_classes/NXedge.nxdl.xml b/base_classes/NXedge.nxdl.xml index f8d8eefe43..bcd97c2932 100644 --- a/base_classes/NXedge.nxdl.xml +++ b/base_classes/NXedge.nxdl.xml @@ -31,104 +31,75 @@ - Name of the absorption edge. The edge can be specified either using the - `IUPAC notation`_ (e.g. ``K``, ``L2``, ``M5``), where each label - identifies the shell from which the electron is ejected, or using the - spectroscopic electronic level notation with ASCII characters only - (e.g. ``1s``, ``2p1/2``, ``3d5/2``). + Name of the absorption edge. The edge can be specified using either the + `IUPAC notation`_ (e.g., ``K``, ``L2``, ``M5``), which identifies the shell + from which the electron is ejected, or the equivalent spectroscopic + electronic level notation using only ASCII characters + (e.g., ``1s``, ``2p1/2``, ``3d5/2``). - Correspondence between IUPAC and Siegbahn notations: + Correspondence between IUPAC and electronic level notations: .. list-table:: :header-rows: 1 * - IUPAC - Electronic level - - ASCII notation * - K - 1s - - 1s * - L1 - 2s - - 2s * - L2 - :math:`2p_{1/2}` - - 2p1/2 * - L3 - :math:`2p_{3/2}` - - 2p3/2 * - M1 - 3s - - 3s * - M2 - :math:`3p_{1/2}` - - 3p1/2 * - M3 - :math:`3p_{3/2}` - - 3p3/2 * - M4 - :math:`3d_{3/2}` - - 3d3/2 * - M5 - :math:`3d_{5/2}` - - 3d5/2 * - N1 - 4s - - 4s * - N2 - :math:`4p_{1/2}` - - 4p1/2 * - N3 - :math:`4p_{3/2}` - - 4p3/2 * - N4 - :math:`4d_{3/2}` - - 4d3/2 * - N5 - :math:`4d_{5/2}` - - 4d5/2 * - N6 - :math:`4f_{5/2}` - - 4f5/2 * - N7 - :math:`4f_{7/2}` - - 4f7/2 * - O1 - 5s - - 5s * - O2 - :math:`5p_{1/2}` - - 5p1/2 * - O3 - :math:`5p_{3/2}` - - 5p3/2 * - O4 - :math:`5d_{3/2}` - - 5d3/2 * - O5 - :math:`5d_{5/2}` - - 5d5/2 * - O6 - :math:`5f_{5/2}` - - 5f5/2 * - O7 - :math:`5f_{7/2}` - - 5f7/2 * - P1 - 6s - - 6s * - P2 - :math:`6p_{1/2}` - - 6p1/2 * - P3 - :math:`6p_{3/2}` - - 6p3/2 * - P4 - :math:`6d_{3/2}` - - 6d3/2 * - P5 - :math:`6d_{5/2}` - - 6d5/2 .. _IUPAC notation: https://doi.org/10.1002/xrs.1300200308 From 9f961344629c13cf0513313fb90363a5ba1a08ca Mon Sep 17 00:00:00 2001 From: Marius Retegan Date: Thu, 26 Feb 2026 14:10:20 +0100 Subject: [PATCH 8/8] Remove electronic level notation --- base_classes/NXedge.nxdl.xml | 36 +++--------------------------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/base_classes/NXedge.nxdl.xml b/base_classes/NXedge.nxdl.xml index bcd97c2932..ef8a3e61ae 100644 --- a/base_classes/NXedge.nxdl.xml +++ b/base_classes/NXedge.nxdl.xml @@ -31,11 +31,9 @@ - Name of the absorption edge. The edge can be specified using either the - `IUPAC notation`_ (e.g., ``K``, ``L2``, ``M5``), which identifies the shell - from which the electron is ejected, or the equivalent spectroscopic - electronic level notation using only ASCII characters - (e.g., ``1s``, ``2p1/2``, ``3d5/2``). + Name of the absorption edge specified using + `IUPAC notation`_ (e.g., ``K``, ``L2``, ``M5``), which identifies the + shell and sub-shell from which the electron is ejected. Correspondence between IUPAC and electronic level notations: @@ -132,34 +130,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - -