Skip to content
Snippets Groups Projects
NXtofnpd.nxdl.xml 5.12 KiB
Newer Older
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl" ?>
<!--
# NeXus - Neutron and X-ray Common Data Format
# 
# Copyright (C) 2008-2016 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
# version 3 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# For further information, see http://www.nexusformat.org
-->
<definition name="NXtofnpd" extends="NXobject" type="group"
  category="application"
  xmlns="http://definition.nexusformat.org/nxdl/3.1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd"
    version="1.0b"
    >
    <doc>This is a application definition for raw data from a TOF neutron powder diffractometer</doc>
    <group type="NXentry" name="entry">
      <field name="title" />
      <field name="start_time" type="NX_DATE_TIME" />
      <field name="definition">
        <doc> Official NeXus NXDL schema to which this file conforms </doc>
        <enumeration>
          <item value="NXtofnpd"></item>
        </enumeration>
      </field>
      <field name="pre_sample_flightpath" type="NX_FLOAT"
        units="NX_LENGTH">
      <doc>
        This is the flight path before the sample position. This can be determined by a chopper,
        by the moderator or the source itself. In other words: it the distance to the component
        which gives the T0 signal to the detector electronics. If another component in the
        NXinstrument hierarchy provides this information, this should be a link.
      </doc>
      </field>
      <group type="NXuser" name="user">
        <field name="name" type="NX_CHAR"></field></group>
      <group type="NXinstrument">
        <group type="NXdetector" name="detector">
          <field name="data" type="NX_INT" signal="1">
            <dimensions rank="2">
              <dim index="1" value="ndet" /><dim index="2" value="ntimechan" />
            </dimensions>
          </field>
          <field name="detector_number" type="NX_INT" axis="2">
            <dimensions rank="1">
              <dim index="1" value="ndet" /></dimensions></field>
          <field name="distance" type="NX_FLOAT" units="NX_LENGTH">
            <doc>distance to sample for each detector</doc>
            <dimensions rank="1">
              <dim index="1" value="ndet" /></dimensions></field>
            <field name="time_of_flight" type="NX_FLOAT"
          units="NX_TIME_OF_FLIGHT" axis="1">
          <dimensions rank="1">
            <dim index="1" value="ntimechan" /></dimensions>
        </field>
            <field name="polar_angle" type="NX_FLOAT"
              units="NX_ANGLE">
              <doc>polar angle for each detector element</doc>
              <dimensions rank="1">
                <dim index="1" value="ndet"></dim></dimensions>
            </field>
            <field name="azimuthal_angle" type="NX_FLOAT"
              units="NX_ANGLE">
              <doc>azimuthal angle for each detector element</doc>
              <dimensions rank="1">
                <dim index="1" value="ndet"></dim></dimensions>
            </field>
         </group>
      </group>
      <group type="NXsample">
        <field name="name">
          <doc>Descriptive name of sample</doc>
        </field>
      </group>
      <group type="NXmonitor">
        <field name="mode">
          <doc>
            Count to a preset value based on either clock time (timer)
            or received monitor counts (monitor).
          </doc>
          <enumeration>
            <item value="monitor" />
            <item value="timer" />
          </enumeration>
        </field>
        <field name="preset" type="NX_FLOAT">
          <doc>preset value for time or monitor</doc>
        </field>
        <field name="distance" type="NX_FLOAT" units="NX_LENGTH"></field>
        <field name="data" type="NX_INT" signal="1">
          <dimensions rank="1">
            <dim index="1" value="ntimechan" /></dimensions></field>
        <field name="time_of_flight" type="NX_FLOAT"
          units="NX_TIME_OF_FLIGHT" axis="1">
          <dimensions rank="1">
            <dim index="1" value="ntimechan" /></dimensions>
        </field>
      </group>
      <group type="NXdata" name="data">
        <link name="data" target="/NXentry/NXinstrument/NXdetector/data"></link>
        <link name="detector_number" target="/NXentry/NXinstrument/NXdetector/detector_number"></link>
        <link name="time_of_flight" target="/NXentry/NXinstrument/NXdetector/time_of_flight"></link>
      </group>
    </group>
</definition>