Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes to fields and description of NXdisk_chopper #649

Merged
merged 13 commits into from
May 29, 2019
76 changes: 48 additions & 28 deletions base_classes/NXdisk_chopper.nxdl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl" ?>
<!--
# NeXus - Neutron and X-ray Common Data Format
#
#
# Copyright (C) 2008-2018 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
# License as published by the Free Software Foundation; either
Expand All @@ -24,56 +24,76 @@
<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="NXdisk_chopper"
name="NXdisk_chopper"
type="group" extends="NXobject">


<symbols>
<doc>This symbol will be used below to coordinate datasets with the same shape.</doc>
<symbol name="n"><doc>Number of slits in the disk</doc></symbol>
</symbols>

<doc>
A device blocking the beam in a temporal periodic pattern.

TODO: need documentation
A disk which blocks the beam but has one or more slits to periodically
zjttoefs marked this conversation as resolved.
Show resolved Hide resolved
let neutrons through as the disk rotates. Often used in pairs, one
NXdisk_chopper should be defined for each disk.

The rotation of the disk is commonly monitored by recording a timestamp for
each full rotation of disk, by having a sensor in the stationary disk housing
sensing when it is aligned with a feature (such as a magnet) on the disk.
We refer to this below as the "top-dead-center signal", although the format
does not require that the sensor be in the conventional location at the
top-dead-center of the disk housing.

Angles and positive rotation speeds are measured in an anticlockwise
direction when facing the sample.
</doc>

<field name="type">
<doc>Type of the disk-chopper: only one from the enumerated list (match text exactly)</doc>
<enumeration>
<item value="Chopper type single" />
<item value="contra_rotating_pair" />
<item value="synchro_pair" />
</enumeration>
</field>
<field name="rotation_speed" type="NX_FLOAT" units="NX_FREQUENCY">
<doc>chopper rotation speed</doc>
<doc>
Chopper rotation speed. Positive for anticlockwise rotation when
facing the sample, negative otherwise.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would make this "facing away from the source". Removes confusion if you ever put a chopper after the sample.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 done

</doc>
</field>
<field name="slits" type="NX_INT">
<doc>Number of slits</doc>
</field>
<field name="slit_angle" type="NX_FLOAT" units="NX_ANGLE">
<doc>angular opening</doc>
<doc>
Angle of the each edge of each slit from the position of the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change the each to each and I'm good overall

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To cut this short, while I can't edit @matthew-d-jones source for the PR, I'll merge and drop the "the" in master.

top-dead-center timestamp sensor, anticlockwise when facing the sample.
The first edge must be the opening edge of a slit, thus the last edge
may have an angle greater than 360 degrees.
</doc>
<dimensions><dim index="1" value="2n"/></dimensions>
</field>
<field name="pair_separation" type="NX_FLOAT" units="NX_LENGTH">
<doc>disc spacing in direction of beam</doc>
<field name="top_dead_center" type="NX_NUMBER" units="NX_TIME">
zjttoefs marked this conversation as resolved.
Show resolved Hide resolved
<doc>
Timestamps of the top-dead-center signal
</doc>
</field>
<field name="beam_position" type="NX_FLOAT" units="NX_ANGLE">
prjemian marked this conversation as resolved.
Show resolved Hide resolved
<doc>
Angular separation of the center of the beam and the
top-dead-center timestamp sensor, anticlockwise when facing the sample.
</doc>
</field>
<field name="radius" type="NX_FLOAT" units="NX_LENGTH">
<doc>radius to centre of slit</doc>
<doc>Radius of the disk</doc>
</field>
<field name="slit_height" type="NX_FLOAT" units="NX_LENGTH">
<doc>total slit height</doc>
<doc>Total slit height</doc>
</field>
<field name="phase" type="NX_FLOAT" units="NX_ANGLE">
<doc>chopper phase angle</doc>
<doc>Chopper phase angle</doc>
</field>
<field name="ratio" type="NX_INT">
<doc>
pulse reduction factor of this chopper in relation to other
choppers/fastest pulse in the instrument
Pulse reduction factor of this chopper in relation to other
choppers/fastest pulse in the instrument
</doc>
</field>
<field name="distance" type="NX_FLOAT" units="NX_LENGTH">
<doc>Effective distance to the origin</doc>
</field>
<field name="wavelength_range" type="NX_FLOAT" units="NX_WAVELENGTH">
<doc>low and high values of wavelength range transmitted</doc>
<dimensions><dim index="1" value="2"/></dimensions>
</field>
<group type="NXgeometry" />
</definition>