.. auto-generated by script ../../../../utils/nxdl2rst.py from the NXDL source NXscan.nxdl.xml

.. index::
    ! NXscan (application definition)
    ! scan (application definition)
    see: scan (application definition); NXscan

.. _NXscan:

======
NXscan
======

**Status**:

  application definition, extends :ref:`NXobject`

**Description**:

  Application definition for a generic scan instrument.

  This definition is more an 
  example then a stringent definition as the content of a given NeXus scan file needs to 
  differ for different types of scans. This example definition shows a scan like done 
  on a rotation camera: the sample is rotated and a detector image, the rotation angle
  and a monitor value is stored at each step in the scan. In the following, the symbol 
  ``NP`` is used to represent the number of scan points. These are the rules for 
  storing scan data in NeXus files which are implemented in this example:

  * Each value varied throughout a scan is stored as an array of 
    length ``NP`` at its respective location within the NeXus hierarchy.
  * For area detectors, ``NP`` is the first dimension, 
    example for a detector of 256x256:  ``data[NP,256,256]``
  * The NXdata group contains links to all variables varied in the scan and the data. 
    This to give an equivalent to the more familiar classical tabular representation of scans.

  These rules exist for a reason: HDF allows the first dimension of a data set to be 
  unlimited. This means the data can be appended too. Thus a NeXus file built according 
  to the rules given above can be used in the following way:

  * At the start of a scan, write all the static information.
  * At each scan point, append new data from varied variables 
    and the detector to the file.

**Symbols**:

  The symbol(s) listed here will be used below to coordinate datasets with the same shape.

  **nP**: Number of points

  **xDim**: xDim description

  **yDim**: yDim description

**Groups cited**:
  :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample`

.. index:: NXentry (base class); used in application definition, NXinstrument (base class); used in application definition, NXdetector (base class); used in application definition, NXsample (base class); used in application definition, NXmonitor (base class); used in application definition, NXdata (base class); used in application definition

**Structure**:

  .. _/NXscan/ENTRY-group:

  **ENTRY**: (required) :ref:`NXentry`


    .. _/NXscan/ENTRY/title-field:

    .. index:: title (field)

    **title**: (required) :ref:`NX_CHAR <NX_CHAR>`


    .. _/NXscan/ENTRY/start_time-field:

    .. index:: start_time (field)

    **start_time**: (required) :ref:`NX_DATE_TIME <NX_DATE_TIME>`


    .. _/NXscan/ENTRY/end_time-field:

    .. index:: end_time (field)

    **end_time**: (required) :ref:`NX_DATE_TIME <NX_DATE_TIME>`


    .. _/NXscan/ENTRY/definition-field:

    .. index:: definition (field)

    **definition**: (required) :ref:`NX_CHAR <NX_CHAR>`

      Official NeXus NXDL schema to which this file conforms

      Obligatory value:  ``NXscan``

    .. _/NXscan/ENTRY/INSTRUMENT-group:

    **INSTRUMENT**: (required) :ref:`NXinstrument`


      .. _/NXscan/ENTRY/INSTRUMENT/DETECTOR-group:

      **DETECTOR**: (required) :ref:`NXdetector`


        .. _/NXscan/ENTRY/INSTRUMENT/DETECTOR/data-field:

        .. index:: data (field)

        **data[nP, xDim, yDim]**: (required) :ref:`NX_INT <NX_INT>`


    .. _/NXscan/ENTRY/SAMPLE-group:

    **SAMPLE**: (required) :ref:`NXsample`


      .. _/NXscan/ENTRY/SAMPLE/rotation_angle-field:

      .. index:: rotation_angle (field)

      **rotation_angle[nP]**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


    .. _/NXscan/ENTRY/MONITOR-group:

    **MONITOR**: (required) :ref:`NXmonitor`


      .. _/NXscan/ENTRY/MONITOR/data-field:

      .. index:: data (field)

      **data[nP]**: (required) :ref:`NX_INT <NX_INT>`


    .. _/NXscan/ENTRY/DATA-group:

    **DATA**: (required) :ref:`NXdata`


      .. _/NXscan/ENTRY/DATA/data-link:

      **data**: :ref:`link<Design-Links>` (suggested target: ``/NXentry/NXinstrument/NXdetector/data``)


      .. _/NXscan/ENTRY/DATA/rotation_angle-link:

      **rotation_angle**: :ref:`link<Design-Links>` (suggested target: ``/NXentry/NXsample/rotation_angle``)



Hypertext Anchors
-----------------

Table of hypertext anchors for all groups, fields,
attributes, and links defined in this class.


================================================================================================== ==================================================================================================
documentation (reST source) anchor                                                                 web page (HTML) anchor                                                                            
================================================================================================== ==================================================================================================
:ref:`/NXscan/ENTRY-group </NXscan/ENTRY-group>`                                                   :ref:`#nxscan-entry-group </NXscan/ENTRY-group>`                                                  
:ref:`/NXscan/ENTRY/DATA-group </NXscan/ENTRY/DATA-group>`                                         :ref:`#nxscan-entry-data-group </NXscan/ENTRY/DATA-group>`                                        
:ref:`/NXscan/ENTRY/DATA/data-link </NXscan/ENTRY/DATA/data-link>`                                 :ref:`#nxscan-entry-data-data-link </NXscan/ENTRY/DATA/data-link>`                                
:ref:`/NXscan/ENTRY/DATA/rotation_angle-link </NXscan/ENTRY/DATA/rotation_angle-link>`             :ref:`#nxscan-entry-data-rotation-angle-link </NXscan/ENTRY/DATA/rotation_angle-link>`            
:ref:`/NXscan/ENTRY/definition-field </NXscan/ENTRY/definition-field>`                             :ref:`#nxscan-entry-definition-field </NXscan/ENTRY/definition-field>`                            
:ref:`/NXscan/ENTRY/end_time-field </NXscan/ENTRY/end_time-field>`                                 :ref:`#nxscan-entry-end-time-field </NXscan/ENTRY/end_time-field>`                                
:ref:`/NXscan/ENTRY/INSTRUMENT-group </NXscan/ENTRY/INSTRUMENT-group>`                             :ref:`#nxscan-entry-instrument-group </NXscan/ENTRY/INSTRUMENT-group>`                            
:ref:`/NXscan/ENTRY/INSTRUMENT/DETECTOR-group </NXscan/ENTRY/INSTRUMENT/DETECTOR-group>`           :ref:`#nxscan-entry-instrument-detector-group </NXscan/ENTRY/INSTRUMENT/DETECTOR-group>`          
:ref:`/NXscan/ENTRY/INSTRUMENT/DETECTOR/data-field </NXscan/ENTRY/INSTRUMENT/DETECTOR/data-field>` :ref:`#nxscan-entry-instrument-detector-data-field </NXscan/ENTRY/INSTRUMENT/DETECTOR/data-field>`
:ref:`/NXscan/ENTRY/MONITOR-group </NXscan/ENTRY/MONITOR-group>`                                   :ref:`#nxscan-entry-monitor-group </NXscan/ENTRY/MONITOR-group>`                                  
:ref:`/NXscan/ENTRY/MONITOR/data-field </NXscan/ENTRY/MONITOR/data-field>`                         :ref:`#nxscan-entry-monitor-data-field </NXscan/ENTRY/MONITOR/data-field>`                        
:ref:`/NXscan/ENTRY/SAMPLE-group </NXscan/ENTRY/SAMPLE-group>`                                     :ref:`#nxscan-entry-sample-group </NXscan/ENTRY/SAMPLE-group>`                                    
:ref:`/NXscan/ENTRY/SAMPLE/rotation_angle-field </NXscan/ENTRY/SAMPLE/rotation_angle-field>`       :ref:`#nxscan-entry-sample-rotation-angle-field </NXscan/ENTRY/SAMPLE/rotation_angle-field>`      
:ref:`/NXscan/ENTRY/start_time-field </NXscan/ENTRY/start_time-field>`                             :ref:`#nxscan-entry-start-time-field </NXscan/ENTRY/start_time-field>`                            
:ref:`/NXscan/ENTRY/title-field </NXscan/ENTRY/title-field>`                                       :ref:`#nxscan-entry-title-field </NXscan/ENTRY/title-field>`                                      
================================================================================================== ==================================================================================================


**NXDL Source**:
  https://github.com/FAIRmat-Experimental/nexus_definitions/tree/fairmat/applications/NXscan.nxdl.xml