Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
148 changes: 91 additions & 57 deletions base_classes/NXaperture.nxdl.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl" ?>
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?>
<!--
# NeXus - Neutron and X-ray Common Data Format
#
# Copyright (C) 2008-2022 NeXus International Advisory Committee (NIAC)
# Copyright (C) 2014-2022 NeXus International Advisory Committee (NIAC)
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
Expand All @@ -21,76 +21,110 @@
#
# For further information, see http://www.nexusformat.org
-->
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" category="base"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd"
name="NXaperture"
type="group" extends="NXobject">

<doc>A beamline aperture. This group is deprecated, use NXslit instead.</doc>
<!-- TODO compare with "screens" in SHADOW -->

<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" type="group" name="NXaperture" extends="NXobject" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<doc>
A beamline aperture. This group is deprecated, use NXslit instead.
</doc>
<!--TODO compare with "screens" in SHADOW-->
<field name="depends_on" type="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 aperture is its center in the x and y axis. The reference point on the z axis is the
surface of the aperture pointing towards the source.

In complex (asymmetic) geometries an NXoff_geometry group can be used to provide an unambiguous reference.

.. image:: aperture/aperture.png
:width: 40%
</doc>
<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 &quot;.&quot; 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 aperture is its center in the x and y axis. The reference point on the z axis is the
surface of the aperture pointing towards the source.
In complex (asymmetric) geometries an NXoff_geometry group can be used to provide an unambiguous reference.
.. image:: aperture/aperture.png
:width: 40%
</doc>
</field>
<group type="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.
</doc>
<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.
</doc>
</group>
<group type="NXpositioner">
<doc>
Stores the raw positions of aperture motors.
</doc>
</group>
<group type="NXgeometry" deprecated="Use the field `depends_on` and :ref:`NXtransformations` to position the aperture and :ref:`NXoff_geometry` to describe its shape">
<doc>
location and shape of aperture

.. TODO: documentation needs improvement, contributions welcome

* description of terms is poor and leaves much to interpretation
* Describe what is meant by translation _here_ and ...
* Similar throughout base classes
* Some base classes do this much better
* Such as where is the gap written?

location and shape of aperture

.. TODO: documentation needs improvement, contributions welcome

* description of terms is poor and leaves much to interpretation
* Describe what is meant by translation _here_ and ...
* Similar throughout base classes
* Some base classes do this much better
* Such as where is the gap written?
</doc>
</group>
<group name="BLADE_GEOMETRY" type="NXgeometry" deprecated="Use :ref:`NXoff_geometry` instead to describe the shape of the aperture">
<doc>location and shape of each blade</doc>
<doc>
location and shape of each blade
</doc>
</group>
<field name="material"><!-- TODO Uniformity problem, "type" is used elsewhere for same context -->
<doc>Absorbing material of the aperture</doc>
<field name="material">
Comment thread
lukaspie marked this conversation as resolved.
<!--TODO Uniformity problem, "type" is used elsewhere for same context-->
<doc>
Absorbing material of the aperture
</doc>
</field>
<field name="description">
<doc>Description of aperture</doc>
<doc>
Description of aperture
</doc>
</field>
<field name="shape">
<doc>
Shape of the aperture.
</doc>
<enumeration>
<item value="straight slit"/>
<item value="curved slit"/>
<item value="pinhole"/>
<item value="circle"/>
<item value="square"/>
<item value="hexagon"/>
<item value="octagon"/>
<item value="bladed"/>
<item value="open"/>
<item value="grid"/>
</enumeration>
</field>
<group type="NXnote"><doc>describe any additional information in a note*</doc></group>
<field name="size" type="NX_NUMBER" units="NX_LENGTH">
<doc>
The relevant dimension for the aperture, i.e. slit width, pinhole and iris
diameter
</doc>
</field>
<group type="NXnote">
<doc>
describe any additional information in a note*
Comment thread
lukaspie marked this conversation as resolved.
</doc>
</group>
<attribute name="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.
.. 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.
</doc>
</attribute>
</definition>
Loading