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

.. index::
    ! NXsnshisto (contributed definition)
    ! snshisto (contributed definition)
    see: snshisto (contributed definition); NXsnshisto

.. _NXsnshisto:

==========
NXsnshisto
==========

**Status**:

  contributed definition, extends :ref:`NXobject`

**Description**:

  This is a definition for histogram data from Spallation Neutron Source (SNS) at ORNL.

**Symbols**:

  No symbol table

**Groups cited**:
  :ref:`NXaperture`, :ref:`NXattenuator`, :ref:`NXcollection`, :ref:`NXcrystal`, :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXdisk_chopper`, :ref:`NXentry`, :ref:`NXfermi_chopper`, :ref:`NXgeometry`, :ref:`NXinstrument`, :ref:`NXlog`, :ref:`NXmoderator`, :ref:`NXmonitor`, :ref:`NXnote`, :ref:`NXorientation`, :ref:`NXpolarizer`, :ref:`NXpositioner`, :ref:`NXsample`, :ref:`NXshape`, :ref:`NXsource`, :ref:`NXtranslation`, :ref:`NXuser`

.. index:: NXentry (base class); used in contributed definition, NXcollection (base class); used in contributed definition, NXlog (base class); used in contributed definition, NXpositioner (base class); used in contributed definition, NXnote (base class); used in contributed definition, NXdata (base class); used in contributed definition, NXinstrument (base class); used in contributed definition, NXsource (base class); used in contributed definition, NXdetector (base class); used in contributed definition, NXgeometry (base class); used in contributed definition, NXorientation (base class); used in contributed definition, NXshape (base class); used in contributed definition, NXtranslation (base class); used in contributed definition, NXdisk_chopper (base class); used in contributed definition, NXfermi_chopper (base class); used in contributed definition, NXmoderator (base class); used in contributed definition, NXaperture (base class); used in contributed definition, NXattenuator (base class); used in contributed definition, NXpolarizer (base class); used in contributed definition, NXcrystal (base class); used in contributed definition, NXmonitor (base class); used in contributed definition, NXsample (base class); used in contributed definition, NXuser (base class); used in contributed definition

**Structure**:

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


    .. index:: collection_identifier (field)

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


    .. index:: collection_title (field)

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


    .. index:: definition (field)

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

      Official NXDL schema after this file goes to applications.

      Obligatory value:  ``NXsnshisto``

    .. index:: duration (field)

    **duration**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_TIME <NX_TIME>`}


    .. index:: end_time (field)

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


    .. index:: entry_identifier (field)

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


    .. index:: experiment_identifier (field)

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


    .. index:: notes (field)

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


    .. index:: proton_charge (field)

    **proton_charge**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_CHARGE <NX_CHARGE>`}


    .. index:: raw_frames (field)

    **raw_frames**: (required) :ref:`NX_INT <NX_INT>`


    .. index:: run_number (field)

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


    .. index:: start_time (field)

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


    .. index:: title (field)

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


    .. index:: total_counts (field)

    **total_counts**: (required) :ref:`NX_UINT <NX_UINT>` {units=\ :ref:`NX_UNITLESS <NX_UNITLESS>`}


    .. index:: total_uncounted_counts (field)

    **total_uncounted_counts**: (required) :ref:`NX_UINT <NX_UINT>` {units=\ :ref:`NX_UNITLESS <NX_UNITLESS>`}


    **DASlogs**: (required) :ref:`NXcollection`

      Details of all logs, both from cvinfo file and from HistoTool (frequency and proton_charge).

      **(log)**: (required) :ref:`NXlog`


        .. index:: average_value (field)

        **average_value**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


        .. index:: average_value_error (field)

        **average_value_error**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


        .. index:: description (field)

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


        .. index:: duration (field)

        **duration**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


        .. index:: maximum_value (field)

        **maximum_value**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


        .. index:: minimum_value (field)

        **minimum_value**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


        .. index:: time (field)

        **time[nvalue]**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


        .. index:: value (field)

        **value[nvalue]**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


      **(positioner)**: (optional) :ref:`NXpositioner`

        Motor logs from cvinfo file.

        .. index:: average_value (field)

        **average_value**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


        .. index:: average_value_error (field)

        **average_value_error**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


        .. index:: description (field)

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


        .. index:: duration (field)

        **duration**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


        .. index:: maximum_value (field)

        **maximum_value**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


        .. index:: minimum_value (field)

        **minimum_value**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


        .. index:: time (field)

        **time[numvalue]**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


        .. index:: value (field)

        **value[numvalue]**: (required) :ref:`NX_FLOAT <NX_FLOAT>`


    **SNSHistoTool**: (required) :ref:`NXnote`


      .. index:: SNSbanking_file_name (field)

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


      .. index:: SNSmapping_file_name (field)

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


      .. index:: author (field)

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


      .. index:: command1 (field)

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

        Command string for event2histo_nxl.

      .. index:: date (field)

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


      .. index:: description (field)

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


      .. index:: version (field)

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


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


      **data** --> /NXentry/NXinstrument/NXdetector/data


      **data_x_time_of_flight** --> /NXentry/NXinstrument/NXdetector/data_x_time_of_flight


      **data_x_y** --> /NXentry/NXinstrument/NXdetector/data_x_y


      **data_y_time_of_flight** --> /NXentry/NXinstrument/NXdetector/data_y_time_of_flight


      **pixel_id** --> /NXentry/NXinstrument/NXdetector/pixel_id


      **time_of_flight** --> /NXentry/NXinstrument/NXdetector/time_of_flight


      **total_counts** --> /NXentry/NXinstrument/NXdetector/total_counts


      **x_pixel_offset** --> /NXentry/NXinstrument/NXdetector/x_pixel_offset


      **y_pixel_offset** --> /NXentry/NXinstrument/NXdetector/y_pixel_offset


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


      .. index:: SNSdetector_calibration_id (field)

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

        Detector calibration id from DAS.

      .. index:: SNSgeometry_file_name (field)

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


      .. index:: SNStranslation_service (field)

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


      .. index:: beamline (field)

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


      .. index:: name (field)

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


      **SNS**: (required) :ref:`NXsource`


        .. index:: frequency (field)

        **frequency**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_FREQUENCY <NX_FREQUENCY>`}


        .. index:: name (field)

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


        .. index:: probe (field)

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


        .. index:: type (field)

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


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


        .. index:: azimuthal_angle (field)

        **azimuthal_angle[numx, numy]**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_ANGLE <NX_ANGLE>`}


        .. index:: data (field)

        **data[numx, numy, numtof]**: (required) :ref:`NX_UINT <NX_UINT>`


        .. index:: data_x_time_of_flight (field)

        **data_x_time_of_flight[numx, numtof]**: (required) :ref:`NX_UINT <NX_UINT>`


        .. index:: data_x_y (field)

        **data_x_y[numx, numy]**: (required) :ref:`NX_UINT <NX_UINT>`


        .. index:: data_y_time_of_flight (field)

        **data_y_time_of_flight[numy, numtof]**: (required) :ref:`NX_UINT <NX_UINT>`


        .. index:: distance (field)

        **distance[numx, numy]**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


        .. index:: pixel_id (field)

        **pixel_id[numx, numy]**: (required) :ref:`NX_UINT <NX_UINT>`


        .. index:: polar_angle (field)

        **polar_angle[numx, numy]**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_ANGLE <NX_ANGLE>`}


        .. index:: time_of_flight (field)

        **time_of_flight[numtof + 1]**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_TIME_OF_FLIGHT <NX_TIME_OF_FLIGHT>`}


        .. index:: total_counts (field)

        **total_counts**: (required) :ref:`NX_UINT <NX_UINT>`


        .. index:: x_pixel_offset (field)

        **x_pixel_offset[numx]**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


        .. index:: y_pixel_offset (field)

        **y_pixel_offset[numy]**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


        **origin**: (required) :ref:`NXgeometry`


          **orientation**: (required) :ref:`NXorientation`


            .. index:: value (field)

            **value[6]**: (required) :ref:`NX_FLOAT <NX_FLOAT>`

              Six out of nine rotation parameters.

          **shape**: (required) :ref:`NXshape`


            .. index:: description (field)

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


            .. index:: shape (field)

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


            .. index:: size (field)

            **size[3]**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


          **translation**: (required) :ref:`NXtranslation`


            .. index:: distance (field)

            **distance[3]**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


      **(disk_chopper)**: (optional) :ref:`NXdisk_chopper`

        Original specification called for NXchopper, 
        which is not a valid NeXus base class.
        Select either NXdisk_chopper or NXfermi_chopper, as appropriate.

        .. index:: distance (field)

        **distance**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


      **(fermi_chopper)**: (optional) :ref:`NXfermi_chopper`

        Original specification called for NXchopper, 
        which is not a valid NeXus base class.
        Select either NXdisk_chopper or NXfermi_chopper, as appropriate.

        .. index:: distance (field)

        **distance**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


      **moderator**: (required) :ref:`NXmoderator`


        .. index:: coupling_material (field)

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


        .. index:: distance (field)

        **distance**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


        .. index:: temperature (field)

        **temperature**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_TEMPERATURE <NX_TEMPERATURE>`}


        .. index:: type (field)

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


      **(aperture)**: (optional) :ref:`NXaperture`


        .. index:: x_pixel_offset (field)

        **x_pixel_offset**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


        **origin**: (required) :ref:`NXgeometry`


          **orientation**: (required) :ref:`NXorientation`


            .. index:: value (field)

            **value[6]**: (required) :ref:`NX_FLOAT <NX_FLOAT>`

              Six out of nine rotation parameters.

          **shape**: (required) :ref:`NXshape`


            .. index:: description (field)

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


            .. index:: shape (field)

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


            .. index:: size (field)

            **size[3]**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


          **translation**: (required) :ref:`NXtranslation`


            .. index:: distance (field)

            **distance[3]**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


      **(attenuator)**: (optional) :ref:`NXattenuator`


        .. index:: distance (field)

        **distance**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


      **(polarizer)**: (optional) :ref:`NXpolarizer`


      **(crystal)**: (optional) :ref:`NXcrystal`


        .. index:: type (field)

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


        .. index:: wavelength (field)

        **wavelength**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_WAVELENGTH <NX_WAVELENGTH>`}


        **origin**: (required) :ref:`NXgeometry`


          .. index:: description (field)

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


          **orientation**: (required) :ref:`NXorientation`


            .. index:: value (field)

            **value[6]**: (required) :ref:`NX_FLOAT <NX_FLOAT>`

              Six out of nine rotation parameters.

          **shape**: (required) :ref:`NXshape`


            .. index:: description (field)

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


            .. index:: shape (field)

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


            .. index:: size (field)

            **size**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


          **translation**: (required) :ref:`NXtranslation`


            .. index:: distance (field)

            **distance[3]**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


    **(monitor)**: (optional) :ref:`NXmonitor`


      .. index:: data (field)

      **data[numtimechannels]**: (required) :ref:`NX_UINT <NX_UINT>`


      .. index:: distance (field)

      **distance**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}


      .. index:: mode (field)

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


      .. index:: time_of_flight (field)

      **time_of_flight[numtimechannels + 1]**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_TIME <NX_TIME>`}


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


      .. index:: changer_position (field)

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


      .. index:: holder (field)

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


      .. index:: identifier (field)

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


      .. index:: name (field)

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

        Descriptive name of sample

      .. index:: nature (field)

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


    **(user)**: (required) :ref:`NXuser`


      .. index:: facility_user_id (field)

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


      .. index:: name (field)

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


      .. index:: role (field)

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


**NXDL Source**:
  https://github.com/nexusformat/definitions/blob/master/contributed_definitions/NXsnshisto.nxdl.xml