From 7ece7f8b0a68658c7208ad05bf5d88da9077fcf8 Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Thu, 1 May 2025 13:57:41 -0500 Subject: [PATCH 01/10] Initial draft of the NXgoniometer base class --- base_classes/NXgoniometer.nxdl.xml | 76 ++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 base_classes/NXgoniometer.nxdl.xml diff --git a/base_classes/NXgoniometer.nxdl.xml b/base_classes/NXgoniometer.nxdl.xml new file mode 100644 index 0000000000..c3aaa6093d --- /dev/null +++ b/base_classes/NXgoniometer.nxdl.xml @@ -0,0 +1,76 @@ + + + + + + + Goniometer angles used during a measurement. The goniometers + used at neutron and x-ray facilities are typically four-circle + or six-circle goniometers, or variants of either one. There are + a number of conventions defining the names of these angles, so + the group should contain a :ref:`NXcite` group, which provides + links relevant to this goniometer. + + + + + A reference to a publication or online documentation that + describe the convention used in this group to define the + names of angles. + + + + + The common name for the type of goniometer used in these + measurements. + + + + + + + + + The translation of the sample from the center of rotation + along the x-axis defined by the local coordinate system. + + + + + The translation of the sample from the center of rotation + along the y-axis defined by the local coordinate system. + + + + + The translation of the sample from the center of rotation + along the z-axis defined by the local coordinate system. + + + + From ed4c99f0e923ea41c1f7984d8da38410ef3c7280 Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Thu, 1 May 2025 16:17:26 -0500 Subject: [PATCH 02/10] Use placeholder names for the rotation angles and sample translations --- base_classes/NXgoniometer.nxdl.xml | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/base_classes/NXgoniometer.nxdl.xml b/base_classes/NXgoniometer.nxdl.xml index c3aaa6093d..eec0dab38e 100644 --- a/base_classes/NXgoniometer.nxdl.xml +++ b/base_classes/NXgoniometer.nxdl.xml @@ -50,27 +50,17 @@ measurements. - - - - - + - The translation of the sample from the center of rotation - along the x-axis defined by the local coordinate system. - - - - - The translation of the sample from the center of rotation - along the y-axis defined by the local coordinate system. - - - - - The translation of the sample from the center of rotation - along the z-axis defined by the local coordinate system. + One of the goniometer rotation angles defined by the + specified convention. + + + The translation of the sample from the centre of rotation of the + goniometer angles along one of the coordinate axes. + + From b3a7beed11ad8d3408c0e26f294d714cfcaf139a Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Thu, 1 May 2025 16:18:04 -0500 Subject: [PATCH 03/10] Enable alternative coordinate systems --- base_classes/NXgoniometer.nxdl.xml | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/base_classes/NXgoniometer.nxdl.xml b/base_classes/NXgoniometer.nxdl.xml index eec0dab38e..a3c0ae1d16 100644 --- a/base_classes/NXgoniometer.nxdl.xml +++ b/base_classes/NXgoniometer.nxdl.xml @@ -29,19 +29,27 @@ > - Goniometer angles used during a measurement. The goniometers - used at neutron and x-ray facilities are typically four-circle - or six-circle goniometers, or variants of either one. There are - a number of conventions defining the names of these angles, so - the group should contain a :ref:`NXcite` group, which provides - links relevant to this goniometer. + Goniometer rotation angles and sample translations used during a + measurement. The goniometers used at neutron and x-ray + facilities are typically four-circle or six-circle goniometers, + or variants of either one. There is no universally recognized + naming convention for angles and translations, so the group + should contain a :ref:`NXcite` group, which describes how the + angles are defined. - + A reference to a publication or online documentation that describe the convention used in this group to define the - names of angles. + names of angles and sample translations. + + + + + The coordinate system used by the translation fields. This + group should be present if these fields do not use the + default NeXus Coordinate System. From 34cacd78f6b2ea867f1e8f1f1cdbd463ade87f12 Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Fri, 2 May 2025 08:37:22 -0500 Subject: [PATCH 04/10] Make the class inherit from NXcomponent --- base_classes/NXgoniometer.nxdl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base_classes/NXgoniometer.nxdl.xml b/base_classes/NXgoniometer.nxdl.xml index a3c0ae1d16..078b421398 100644 --- a/base_classes/NXgoniometer.nxdl.xml +++ b/base_classes/NXgoniometer.nxdl.xml @@ -25,7 +25,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd" name="NXgoniometer" - type="group" extends="NXobject" + type="group" extends="NXcomponent" > From 505906674efb7f870ebb1686aa9888216cb4a122 Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Fri, 2 May 2025 08:37:58 -0500 Subject: [PATCH 05/10] Adds this base class to NXinstrument. --- base_classes/NXinstrument.nxdl.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/base_classes/NXinstrument.nxdl.xml b/base_classes/NXinstrument.nxdl.xml index 523761ff14..3ecef78044 100644 --- a/base_classes/NXinstrument.nxdl.xml +++ b/base_classes/NXinstrument.nxdl.xml @@ -60,6 +60,7 @@ + From a73d50e1ec42469035a3c3f5ce5a3f83701f9a39 Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Fri, 2 May 2025 08:38:55 -0500 Subject: [PATCH 06/10] Fix indentation --- base_classes/NXgoniometer.nxdl.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/base_classes/NXgoniometer.nxdl.xml b/base_classes/NXgoniometer.nxdl.xml index 078b421398..2766fc533b 100644 --- a/base_classes/NXgoniometer.nxdl.xml +++ b/base_classes/NXgoniometer.nxdl.xml @@ -65,10 +65,10 @@ - - The translation of the sample from the centre of rotation of the - goniometer angles along one of the coordinate axes. - - + + The translation of the sample from the centre of rotation of + the goniometer angles along one of the coordinate axes. + + From 9d4ba9bc6b66c77b6858971f4fcc92f8e9bf8c5a Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Fri, 2 May 2025 08:39:51 -0500 Subject: [PATCH 07/10] Remove claims to have travelled in time --- base_classes/NXgoniometer.nxdl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base_classes/NXgoniometer.nxdl.xml b/base_classes/NXgoniometer.nxdl.xml index 2766fc533b..6ee716546a 100644 --- a/base_classes/NXgoniometer.nxdl.xml +++ b/base_classes/NXgoniometer.nxdl.xml @@ -3,7 +3,7 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd" + name="NXgoniometer" type="group" extends="NXcomponent"> - - Goniometer rotation angles and sample translations used during a - measurement. The goniometers used at neutron and x-ray - facilities are typically four-circle or six-circle goniometers, - or variants of either one. There is no universally recognized - naming convention for angles and translations, so the group - should contain a :ref:`NXcite` group, which describes how the - angles are defined. + + Goniometer rotation angles and sample translations used during a + measurement. The goniometers used at neutron and x-ray + facilities are typically four-circle or six-circle goniometers, + or variants of either one. There is no universally recognized + naming convention for angles and translations, so the group + should contain a :ref:`NXcite` group, which describes how the + angles are defined. If the goniometer settings are part of a transformation chain, it is possible to record them as NXtransformation groups instead of as fields. It is still recommended that the names of the groups adhere to the convention referenced in the NXcite group. - +