.. auto-generated by dev_tools.docs.nxdl from the NXDL source contributed_definitions/NXdetector.nxdl.xml -- DO NOT EDIT

.. index::
    ! NXdetector (base class)
    ! detector (base class)
    see: detector (base class); NXdetector

.. _NXdetector:

==========
NXdetector
==========

**Status**:

  base class, extends :ref:`NXobject`

**Description**:

  A detector, detector bank, or multidetector.

**Symbols**:

  These symbols will be used below to coordinate datasets with the same
  shape.

  **np**: number of scan points (only present in scanning measurements)

  **i**: number of detector pixels in the first (slowest) direction

  **j**: number of detector pixels in the second (faster) direction

  **k**: number of detector pixels in the third (if necessary, fastest) direction

  **tof**: number of bins in the time-of-flight histogram

**Groups cited**:
  :ref:`NXcollection`, :ref:`NXcylindrical_geometry`, :ref:`NXdata`, :ref:`NXdetector_module`, :ref:`NXgeometry`, :ref:`NXnote`, :ref:`NXoff_geometry`

.. index:: NXgeometry (base class); used in base class, NXdata (base class); used in base class, NXnote (base class); used in base class, NXcollection (base class); used in base class, NXdetector_module (base class); used in base class, NXoff_geometry (base class); used in base class, NXcylindrical_geometry (base class); used in base class

**Structure**:

  .. _/NXdetector@default-attribute:

  .. index:: default (file attribute)

  **@default**: (optional) :ref:`NX_CHAR <NX_CHAR>`

    .. 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.

  .. _/NXdetector/time_of_flight-field:

  .. index:: time_of_flight (field)

  **time_of_flight**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 1, Dimensions: [tof+1]) {units=\ :ref:`NX_TIME_OF_FLIGHT <NX_TIME_OF_FLIGHT>`}

    Total time of flight

    .. _/NXdetector/time_of_flight@axis-attribute:

    .. index:: axis (field attribute)

    **@axis**: (optional) :ref:`NX_CHAR <NX_CHAR>`


      Obligatory value: ``3``

    .. _/NXdetector/time_of_flight@primary-attribute:

    .. index:: primary (field attribute)

    **@primary**: (optional) :ref:`NX_CHAR <NX_CHAR>`


      Obligatory value: ``1``

    .. _/NXdetector/time_of_flight@long_name-attribute:

    .. index:: long_name (field attribute)

    **@long_name**: (optional) :ref:`NX_CHAR <NX_CHAR>`

      Total time of flight

  .. _/NXdetector/raw_time_of_flight-field:

  .. index:: raw_time_of_flight (field)

  **raw_time_of_flight**: (optional) :ref:`NX_INT <NX_INT>` (Rank: 1, Dimensions: [tof+1]) {units=\ :ref:`NX_PULSES <NX_PULSES>`}

    In DAQ clock pulses

    .. _/NXdetector/raw_time_of_flight@frequency-attribute:

    .. index:: frequency (field attribute)

    **@frequency**: (optional) :ref:`NX_CHAR <NX_CHAR>`

      Clock frequency in Hz

  .. _/NXdetector/detector_number-field:

  .. index:: detector_number (field)

  **detector_number**: (optional) :ref:`NX_INT <NX_INT>`

    Identifier for detector (pixels) Can be multidimensional, if needed

  .. _/NXdetector/data-field:

  .. index:: data (field)

  **data**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 4, Dimensions: [np, i, j, tof]) {units=\ :ref:`NX_ANY <NX_ANY>`}

    Data values from the detector.

    .. _/NXdetector/data@long_name-attribute:

    .. index:: long_name (field attribute)

    **@long_name**: (optional) :ref:`NX_CHAR <NX_CHAR>`

      Title of measurement

    .. _/NXdetector/data@check_sum-attribute:

    .. index:: check_sum (field attribute)

    **@check_sum**: (optional) :ref:`NX_CHAR <NX_CHAR>`

      Integral of data as check of data integrity

  .. _/NXdetector/data_errors-field:

  .. index:: data_errors (field)

  **data_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 4, Dimensions: [np, i, j, tof]) {units=\ :ref:`NX_ANY <NX_ANY>`}

    The best estimate of the uncertainty in the data value. Where possible, this
    should be the standard deviation, which has the same units as the data. The form
    data_error is deprecated.

  .. _/NXdetector/x_pixel_offset-field:

  .. index:: x_pixel_offset (field)

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

    Offset from the detector center in x-direction. Can be multidimensional when
    needed.

    .. _/NXdetector/x_pixel_offset@axis-attribute:

    .. index:: axis (field attribute)

    **@axis**: (optional) :ref:`NX_CHAR <NX_CHAR>`


      Obligatory value: ``1``

    .. _/NXdetector/x_pixel_offset@primary-attribute:

    .. index:: primary (field attribute)

    **@primary**: (optional) :ref:`NX_CHAR <NX_CHAR>`


      Obligatory value: ``1``

    .. _/NXdetector/x_pixel_offset@long_name-attribute:

    .. index:: long_name (field attribute)

    **@long_name**: (optional) :ref:`NX_CHAR <NX_CHAR>`

      x-axis offset from detector center

  .. _/NXdetector/y_pixel_offset-field:

  .. index:: y_pixel_offset (field)

  **y_pixel_offset**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

    Offset from the detector center in the y-direction. Can be multidimensional when
    different values are required for each pixel.

    .. _/NXdetector/y_pixel_offset@axis-attribute:

    .. index:: axis (field attribute)

    **@axis**: (optional) :ref:`NX_CHAR <NX_CHAR>`


      Obligatory value: ``2``

    .. _/NXdetector/y_pixel_offset@primary-attribute:

    .. index:: primary (field attribute)

    **@primary**: (optional) :ref:`NX_CHAR <NX_CHAR>`


      Obligatory value: ``1``

    .. _/NXdetector/y_pixel_offset@long_name-attribute:

    .. index:: long_name (field attribute)

    **@long_name**: (optional) :ref:`NX_CHAR <NX_CHAR>`

      y-axis offset from detector center

  .. _/NXdetector/z_pixel_offset-field:

  .. index:: z_pixel_offset (field)

  **z_pixel_offset**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

    Offset from the detector center in the z-direction. Can be multidimensional when
    different values are required for each pixel.

    .. _/NXdetector/z_pixel_offset@axis-attribute:

    .. index:: axis (field attribute)

    **@axis**: (optional) :ref:`NX_CHAR <NX_CHAR>`


      Obligatory value: ``3``

    .. _/NXdetector/z_pixel_offset@primary-attribute:

    .. index:: primary (field attribute)

    **@primary**: (optional) :ref:`NX_CHAR <NX_CHAR>`


      Obligatory value: ``1``

    .. _/NXdetector/z_pixel_offset@long_name-attribute:

    .. index:: long_name (field attribute)

    **@long_name**: (optional) :ref:`NX_CHAR <NX_CHAR>`

      y-axis offset from detector center

  .. _/NXdetector/distance-field:

  .. index:: distance (field)

  **distance**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 3, Dimensions: [np, i, j]) {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

    This is the distance to the previous component in the instrument; most often the
    sample. The usage depends on the nature of the detector: Most often it is the
    distance of the detector assembly. But there are irregular detectors. In this
    case the distance must be specified for each detector pixel.

  .. _/NXdetector/polar_angle-field:

  .. index:: polar_angle (field)

  **polar_angle**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 3, Dimensions: [np, i, j]) {units=\ :ref:`NX_ANGLE <NX_ANGLE>`}

    This is the polar angle of the detector towards the previous component in the
    instrument; most often the sample. The usage depends on the nature of the
    detector. Most often it is the polar_angle of the detector assembly. But there
    are irregular detectors. In this case, the polar_angle  must be specified for
    each detector pixel.

  .. _/NXdetector/azimuthal_angle-field:

  .. index:: azimuthal_angle (field)

  **azimuthal_angle**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 3, Dimensions: [np, i, j]) {units=\ :ref:`NX_ANGLE <NX_ANGLE>`}

    This is the azimuthal angle angle of the detector towards the previous component
    in the instrument; most often the sample. The usage depends on the nature of the
    detector. Most often it is the azimuthal_angle of the detector assembly. But
    there are irregular detectors. In this case, the azimuthal_angle  must be
    specified for each detector pixel.

  .. _/NXdetector/description-field:

  .. index:: description (field)

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

    name/manufacturer/model/etc. information

  .. _/NXdetector/serial_number-field:

  .. index:: serial_number (field)

  **serial_number**: (optional) :ref:`NX_CHAR <NX_CHAR>`

    Serial number for the detector

  .. _/NXdetector/local_name-field:

  .. index:: local_name (field)

  **local_name**: (optional) :ref:`NX_CHAR <NX_CHAR>`

    Local name for the detector

  .. _/NXdetector/solid_angle-field:

  .. index:: solid_angle (field)

  **solid_angle**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_SOLID_ANGLE <NX_SOLID_ANGLE>`}

    Solid angle subtended by the detector at the sample

  .. _/NXdetector/x_pixel_size-field:

  .. index:: x_pixel_size (field)

  **x_pixel_size**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

    Size of each detector pixel. If it is scalar all pixels are the same size.

  .. _/NXdetector/y_pixel_size-field:

  .. index:: y_pixel_size (field)

  **y_pixel_size**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

    Size of each detector pixel. If it is scalar all pixels are the same size

  .. _/NXdetector/dead_time-field:

  .. index:: dead_time (field)

  **dead_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 3, Dimensions: [np, i, j]) {units=\ :ref:`NX_TIME <NX_TIME>`}

    Detector dead time

  .. _/NXdetector/gas_pressure-field:

  .. index:: gas_pressure (field)

  **gas_pressure**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_PRESSURE <NX_PRESSURE>`}

    Detector gas pressure

  .. _/NXdetector/detection_gas_path-field:

  .. index:: detection_gas_path (field)

  **detection_gas_path**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

    maximum drift space dimension

  .. _/NXdetector/crate-field:

  .. index:: crate (field)

  **crate**: (optional) :ref:`NX_INT <NX_INT>` (Rank: 2, Dimensions: [i, j])

    Crate number of detector

    .. _/NXdetector/crate@local_name-attribute:

    .. index:: local_name (field attribute)

    **@local_name**: (optional) :ref:`NX_CHAR <NX_CHAR>`

      Equivalent local term

  .. _/NXdetector/slot-field:

  .. index:: slot (field)

  **slot**: (optional) :ref:`NX_INT <NX_INT>` (Rank: 2, Dimensions: [i, j])

    Slot number of detector

    .. _/NXdetector/slot@local_name-attribute:

    .. index:: local_name (field attribute)

    **@local_name**: (optional) :ref:`NX_CHAR <NX_CHAR>`

      Equivalent local term

  .. _/NXdetector/input-field:

  .. index:: input (field)

  **input**: (optional) :ref:`NX_INT <NX_INT>` (Rank: 2, Dimensions: [i, j])

    Input number of detector

    .. _/NXdetector/input@local_name-attribute:

    .. index:: local_name (field attribute)

    **@local_name**: (optional) :ref:`NX_CHAR <NX_CHAR>`

      Equivalent local term

  .. _/NXdetector/type-field:

  .. index:: type (field)

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

    Description of type such as He3 gas cylinder, He3 PSD, scintillator, fission
    chamber, proportion counter, ion chamber, ccd, pixel, image plate, CMOS, ...

  .. _/NXdetector/real_time-field:

  .. index:: real_time (field)

  **real_time**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 3, Dimensions: [np, i, j]) {units=\ :ref:`NX_TIME <NX_TIME>`}

    Real-time of the exposure (use this if exposure time varies for
    each array element, otherwise use ``count_time`` field).

    Most often there is a single real time value that is constant across
    an entire image frame.  In such cases, only a 1-D array is needed.
    But there are detectors in which the real time
    changes per pixel. In that case, more than one dimension is needed. Therefore
    the rank of this field should be less than or equal to (detector rank + 1).

  .. _/NXdetector/start_time-field:

  .. index:: start_time (field)

  **start_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 1, Dimensions: [np]) {units=\ :ref:`NX_TIME <NX_TIME>`}

    Start time for each frame, with the ``start`` attribute as absolute reference

    .. _/NXdetector/start_time@start-attribute:

    .. index:: start (field attribute)

    **@start**: (optional) :ref:`NX_CHAR <NX_CHAR>`


  .. _/NXdetector/stop_time-field:

  .. index:: stop_time (field)

  **stop_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 1, Dimensions: [np]) {units=\ :ref:`NX_TIME <NX_TIME>`}

    stop time for each frame, with the ``start`` attribute as absolute reference

    .. _/NXdetector/stop_time@start-attribute:

    .. index:: start (field attribute)

    **@start**: (optional) :ref:`NX_CHAR <NX_CHAR>`


  .. _/NXdetector/calibration_date-field:

  .. index:: calibration_date (field)

  **calibration_date**: (optional) :ref:`NX_DATE_TIME <NX_DATE_TIME>`

    date of last calibration (geometry and/or efficiency) measurements

  .. _/NXdetector/layout-field:

  .. index:: layout (field)

  **layout**: (optional) :ref:`NX_CHAR <NX_CHAR>`

    How the detector is represented

    Any of these values: ``point`` | ``linear`` | ``area``

  .. _/NXdetector/count_time-field:

  .. index:: count_time (field)

  **count_time**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [np]) {units=\ :ref:`NX_TIME <NX_TIME>`}

    Elapsed actual counting time

  .. _/NXdetector/sequence_number-field:

  .. index:: sequence_number (field)

  **sequence_number**: (optional) :ref:`NX_INT <NX_INT>` (Rank: 1, Dimensions: [nBrightFrames])

    In order to properly sort the order of the images taken in (for example) a
    tomography experiment, a sequence number is stored with each image.

  .. _/NXdetector/beam_center_x-field:

  .. index:: beam_center_x (field)

  **beam_center_x**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

    This is the x position where the direct beam would hit the detector. This is a
    length and can be outside of the actual detector. The length can be in physical
    units or pixels as documented by the units attribute.

  .. _/NXdetector/beam_center_y-field:

  .. index:: beam_center_y (field)

  **beam_center_y**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

    This is the y position where the direct beam would hit the detector. This is a
    length and can be outside of the actual detector. The length can be in physical
    units or pixels as documented by the units attribute.

  .. _/NXdetector/frame_start_number-field:

  .. index:: frame_start_number (field)

  **frame_start_number**: (optional) :ref:`NX_INT <NX_INT>`

    This is the start number of the first frame of a scan. In PX one often scans a
    couple of frames on a give sample, then does something else, then returns to the
    same sample and scans some more frames. Each time with a new data file. This
    number helps concatenating such measurements.

  .. _/NXdetector/diameter-field:

  .. index:: diameter (field)

  **diameter**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

    The diameter of a cylindrical detector

  .. _/NXdetector/acquisition_mode-field:

  .. index:: acquisition_mode (field)

  **acquisition_mode**: (optional) :ref:`NX_CHAR <NX_CHAR>`

    The acquisition mode of the detector.

    Any of these values:

      * ``gated``

      * ``triggered``

      * ``summed``

      * ``event``

      * ``histogrammed``

      * ``decimated``


  .. _/NXdetector/angular_calibration_applied-field:

  .. index:: angular_calibration_applied (field)

  **angular_calibration_applied**: (optional) :ref:`NX_BOOLEAN <NX_BOOLEAN>`

    True when the angular calibration has been applied in the electronics, false
    otherwise.

  .. _/NXdetector/angular_calibration-field:

  .. index:: angular_calibration (field)

  **angular_calibration**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 2, Dimensions: [i, j])

    Angular calibration data.

  .. _/NXdetector/flatfield_applied-field:

  .. index:: flatfield_applied (field)

  **flatfield_applied**: (optional) :ref:`NX_BOOLEAN <NX_BOOLEAN>`

    True when the flat field correction has been applied in the electronics, false
    otherwise.

  .. _/NXdetector/flatfield-field:

  .. index:: flatfield (field)

  **flatfield**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 2, Dimensions: [i, j])

    Flat field correction data.

  .. _/NXdetector/flatfield_errors-field:

  .. index:: flatfield_errors (field)

  **flatfield_errors**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 2, Dimensions: [i, j])

    Errors of the flat field correction data. The form flatfield_error is
    deprecated.

  .. _/NXdetector/pixel_mask_applied-field:

  .. index:: pixel_mask_applied (field)

  **pixel_mask_applied**: (optional) :ref:`NX_BOOLEAN <NX_BOOLEAN>`

    True when the pixel mask correction has been applied in the electronics, false
    otherwise.

  .. _/NXdetector/pixel_mask-field:

  .. index:: pixel_mask (field)

  **pixel_mask**: (optional) :ref:`NX_INT <NX_INT>` (Rank: 2, Dimensions: [i, j])

    The 32-bit pixel mask for the detector. Can be either one mask
    for the whole dataset (i.e. an array with indices i, j) or
    each frame can have its own mask (in which case it would be
    an array with indices np, i, j).

    Contains a bit field for each pixel to signal dead,
    blind or high or otherwise unwanted or undesirable pixels.
    They have the following meaning:

    .. can't make a table here, a bullet list will have to do for now

    * bit 0: gap (pixel with no sensor)
    * bit 1: dead
    * bit 2: under responding
    * bit 3: over responding
    * bit 4: noisy
    * bit 5: -undefined-
    * bit 6: pixel is part of a cluster of problematic pixels (bit set in addition to others)
    * bit 7: -undefined-
    * bit 8: user defined mask (e.g. around beamstop)
    * bits 9-30: -undefined-
    * bit 31: virtual pixel (corner pixel with interpolated value)

    Normal data analysis software would
    not take pixels into account
    when a bit in (mask & 0x0000FFFF) is
    set. Tag bit in the upper
    two bytes would indicate special pixel
    properties that normally
    would not be a sole reason to reject the
    intensity value (unless
    lower bits are set.

    If the full bit depths is not required, providing a
    mask with fewer bits is permissible.

    If needed, additional pixel masks can be specified by
    including additional entries named pixel_mask_N, where
    N is an integer. For example, a general bad pixel mask
    could be specified in pixel_mask that indicates noisy
    and dead pixels, and an additional pixel mask from
    experiment-specific shadowing could be specified in
    pixel_mask_2. The cumulative mask is the bitwise OR
    of pixel_mask and any pixel_mask_N entries.

  .. _/NXdetector/countrate_correction_applied-field:

  .. index:: countrate_correction_applied (field)

  **countrate_correction_applied**: (optional) :ref:`NX_BOOLEAN <NX_BOOLEAN>`

    True when a count-rate correction has already been applied in the electronics,
    false otherwise.

  .. _/NXdetector/bit_depth_readout-field:

  .. index:: bit_depth_readout (field)

  **bit_depth_readout**: (optional) :ref:`NX_INT <NX_INT>`

    How many bits the electronics reads per pixel. With CCD's and single photon
    counting detectors, this must not align with traditional integer sizes. This can
    be 4, 8, 12, 14, 16, ...

  .. _/NXdetector/detector_readout_time-field:

  .. index:: detector_readout_time (field)

  **detector_readout_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_TIME <NX_TIME>`}

    Time it takes to read the detector (typically milliseconds). This is important
    to know for time resolved experiments.

  .. _/NXdetector/trigger_delay_time-field:

  .. index:: trigger_delay_time (field)

  **trigger_delay_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_TIME <NX_TIME>`}

    Time it takes to start exposure after a trigger signal has been received. This
    is the reaction time of the detector firmware after receiving the trigger signal
    to when the detector starts to acquire the exposure, including any user set
    delay.. This is important to know for time resolved experiments.

  .. _/NXdetector/trigger_delay_time_set-field:

  .. index:: trigger_delay_time_set (field)

  **trigger_delay_time_set**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_TIME <NX_TIME>`}

    User-specified trigger delay.

  .. _/NXdetector/trigger_internal_delay_time-field:

  .. index:: trigger_internal_delay_time (field)

  **trigger_internal_delay_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_TIME <NX_TIME>`}

    Time it takes to start exposure after a trigger signal has been received. This
    is the reaction time of the detector hardware after receiving the trigger signal
    to when the detector starts to acquire the exposure. It forms the lower boundary
    of the trigger_delay_time when the user does not request an additional delay.

  .. _/NXdetector/trigger_dead_time-field:

  .. index:: trigger_dead_time (field)

  **trigger_dead_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_TIME <NX_TIME>`}

    Time during which no new trigger signal can be accepted. Typically this is the
    trigger_delay_time + exposure_time + readout_time. This is important to know for
    time resolved experiments.

  .. _/NXdetector/frame_time-field:

  .. index:: frame_time (field)

  **frame_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 1, Dimensions: [NP]) {units=\ :ref:`NX_TIME <NX_TIME>`}

    This is time for each frame. This is exposure_time + readout time.

  .. _/NXdetector/gain_setting-field:

  .. index:: gain_setting (field)

  **gain_setting**: (optional) :ref:`NX_CHAR <NX_CHAR>`

    The gain setting of the detector. This influences background etc.

    Any of these values: ``high`` | ``standard`` | ``fast`` | ``auto``

  .. _/NXdetector/saturation_value-field:

  .. index:: saturation_value (field)

  **saturation_value**: (optional) :ref:`NX_INT <NX_INT>`

    The value at which the detector goes into saturation. Especially common to CCD
    detectors, the data is known to be invalid above this value. For example, given
    a saturation_value and an underload_value, the valid pixels are those less than
    or equal to the saturation_value and greater than or equal to the
    underload_value.

  .. _/NXdetector/underload_value-field:

  .. index:: underload_value (field)

  **underload_value**: (optional) :ref:`NX_INT <NX_INT>`

    The lowest value at which pixels for this detector would be reasonably measured.
    The data is known to be invalid below this value. For example, given a
    saturation_value and an underload_value, the valid pixels are those less than or
    equal to the saturation_value and greater than or equal to the underload_value.

  .. _/NXdetector/number_of_cycles-field:

  .. index:: number_of_cycles (field)

  **number_of_cycles**: (optional) :ref:`NX_INT <NX_INT>`

    CCD images are sometimes constructed by summing together multiple short
    exposures in the electronics. This reduces background etc. This is the number of
    short exposures used to sum images for an image.

  .. _/NXdetector/sensor_material-field:

  .. index:: sensor_material (field)

  **sensor_material**: (optional) :ref:`NX_CHAR <NX_CHAR>`

    At times, radiation is not directly sensed by the detector. Rather, the detector
    might sense the output from some converter like a scintillator. This is the name
    of this converter material.

  .. _/NXdetector/sensor_thickness-field:

  .. index:: sensor_thickness (field)

  **sensor_thickness**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

    At times, radiation is not directly sensed by the detector. Rather, the detector
    might sense the output from some converter like a scintillator. This is the
    thickness of this converter material.

  .. _/NXdetector/threshold_energy-field:

  .. index:: threshold_energy (field)

  **threshold_energy**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_ENERGY <NX_ENERGY>`}

    Single photon counter detectors can be adjusted for a certain energy range in
    which they work optimally. This is the energy setting for this.

  .. _/NXdetector/amplifier_type-field:

  .. index:: amplifier_type (field)

  **amplifier_type**: (optional) :ref:`NX_CHAR <NX_CHAR>`

    Type of electron amplifier, MCP, channeltron, etc.

  .. _/NXdetector/detector_type-field:

  .. index:: detector_type (field)

  **detector_type**: (optional) :ref:`NX_CHAR <NX_CHAR>`

    Description of the detector type, DLD, Phosphor+CCD, CMOS.

  .. _/NXdetector/detector_voltage-field:

  .. index:: detector_voltage (field)

  **detector_voltage**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_VOLTAGE <NX_VOLTAGE>`}

    Voltage applied to detector.

  .. _/NXdetector/amplifier_voltage-field:

  .. index:: amplifier_voltage (field)

  **amplifier_voltage**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_VOLTAGE <NX_VOLTAGE>`}

    Voltage applied to the amplifier.

  .. _/NXdetector/amplifier_bias-field:

  .. index:: amplifier_bias (field)

  **amplifier_bias**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_VOLTAGE <NX_VOLTAGE>`}

    The low voltage of the amplifier migh not be the ground.

  .. _/NXdetector/sensor_size-field:

  .. index:: sensor_size (field)

  **sensor_size**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

    Size of each imaging sensor chip on the detector.

  .. _/NXdetector/sensor_count-field:

  .. index:: sensor_count (field)

  **sensor_count**: (optional) :ref:`NX_INT <NX_INT>` {units=\ :ref:`NX_UNITLESS <NX_UNITLESS>`}

    Number of imaging sensor chips on the detector.

  .. _/NXdetector/sensor_pixel_size-field:

  .. index:: sensor_pixel_size (field)

  **sensor_pixel_size**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

    Physical size of the pixels of the imaging chip on the detector.

  .. _/NXdetector/sensor_pixels-field:

  .. index:: sensor_pixels (field)

  **sensor_pixels**: (optional) :ref:`NX_INT <NX_INT>` {units=\ :ref:`NX_UNITLESS <NX_UNITLESS>`}

    Number of raw active elements in each dimension. Important for swept scans.

  .. _/NXdetector/GEOMETRY-group:

  **GEOMETRY**: (optional) :ref:`NXgeometry`

    Position and orientation of detector

  .. _/NXdetector/efficiency-group:

  **efficiency**: (optional) :ref:`NXdata`

    Spectral efficiency of detector with respect to e.g. wavelength

    .. _/NXdetector/efficiency@signal-attribute:

    .. index:: signal (group attribute)

    **@signal**: (optional) :ref:`NX_CHAR <NX_CHAR>`


      Obligatory value: ``efficiency``

    .. _/NXdetector/efficiency@axes-attribute:

    .. index:: axes (group attribute)

    **@axes**: (optional) :ref:`NX_CHAR <NX_CHAR>`


      Any of these values: ``.`` | ``. .`` | ``. . .`` | ``. . . .`` | ``wavelength``

    .. _/NXdetector/efficiency@wavelength_indices-attribute:

    .. index:: wavelength_indices (group attribute)

    **@wavelength_indices**: (optional) :ref:`NX_CHAR <NX_CHAR>`


      Obligatory value: ``0``

    .. _/NXdetector/efficiency/efficiency-field:

    .. index:: efficiency (field)

    **efficiency**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 3, Dimensions: [i, j, k]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`}

      efficiency of the detector

    .. _/NXdetector/efficiency/wavelength-field:

    .. index:: wavelength (field)

    **wavelength**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 3, Dimensions: [i, j, k]) {units=\ :ref:`NX_WAVELENGTH <NX_WAVELENGTH>`}

      This field can be two things:

      #. For a pixel detector it provides the nominal wavelength
         for which the detector has been calibrated.

      #. For other detectors this field has to be seen together with
         the efficiency field above.
         For some detectors, the efficiency is wavelength dependent.
         Thus this field provides the wavelength axis for the efficiency field.
         In this use case, the efficiency and wavelength arrays must
         have the same dimensionality.

  .. _/NXdetector/calibration_method-group:

  **calibration_method**: (optional) :ref:`NXnote`

    summary of conversion of array data to pixels (e.g. polynomial approximations)
    and location of details of the calibrations

  .. _/NXdetector/data_file-group:

  **data_file**: (optional) :ref:`NXnote`


  .. _/NXdetector/COLLECTION-group:

  **COLLECTION**: (optional) :ref:`NXcollection`

    Use this group to provide other data related to this NXdetector group.

  .. _/NXdetector/DETECTOR_MODULE-group:

  **DETECTOR_MODULE**: (optional) :ref:`NXdetector_module`

    For use in special cases where the data in NXdetector is represented in several
    parts, each with a separate geometry. Use one or more instances of the
    NXdetector_module group to declare regions of interest or some other subdivision
    of a detector.

    .. _/NXdetector/DETECTOR_MODULE/OFF_GEOMETRY-group:

    **OFF_GEOMETRY**: (optional) :ref:`NXoff_geometry`

      Shape description of the whole detector. Use only if pixels in the detector are
      not of uniform shape.

    .. _/NXdetector/DETECTOR_MODULE/CYLINDRICAL_GEOMETRY-group:

    **CYLINDRICAL_GEOMETRY**: (optional) :ref:`NXcylindrical_geometry`

      Shape description of the whole detector. Use only if pixels in the detector are
      not of uniform shape and require being described by cylinders.

  .. _/NXdetector/DATA-group:

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

    raw data output from the detector


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

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


* :ref:`/NXdetector/acquisition_mode-field </NXdetector/acquisition_mode-field>`
* :ref:`/NXdetector/amplifier_bias-field </NXdetector/amplifier_bias-field>`
* :ref:`/NXdetector/amplifier_type-field </NXdetector/amplifier_type-field>`
* :ref:`/NXdetector/amplifier_voltage-field </NXdetector/amplifier_voltage-field>`
* :ref:`/NXdetector/angular_calibration-field </NXdetector/angular_calibration-field>`
* :ref:`/NXdetector/angular_calibration_applied-field </NXdetector/angular_calibration_applied-field>`
* :ref:`/NXdetector/azimuthal_angle-field </NXdetector/azimuthal_angle-field>`
* :ref:`/NXdetector/beam_center_x-field </NXdetector/beam_center_x-field>`
* :ref:`/NXdetector/beam_center_y-field </NXdetector/beam_center_y-field>`
* :ref:`/NXdetector/bit_depth_readout-field </NXdetector/bit_depth_readout-field>`
* :ref:`/NXdetector/calibration_date-field </NXdetector/calibration_date-field>`
* :ref:`/NXdetector/calibration_method-group </NXdetector/calibration_method-group>`
* :ref:`/NXdetector/COLLECTION-group </NXdetector/COLLECTION-group>`
* :ref:`/NXdetector/count_time-field </NXdetector/count_time-field>`
* :ref:`/NXdetector/countrate_correction_applied-field </NXdetector/countrate_correction_applied-field>`
* :ref:`/NXdetector/crate-field </NXdetector/crate-field>`
* :ref:`/NXdetector/crate@local_name-attribute </NXdetector/crate@local_name-attribute>`
* :ref:`/NXdetector/data-field </NXdetector/data-field>`
* :ref:`/NXdetector/DATA-group </NXdetector/DATA-group>`
* :ref:`/NXdetector/data@check_sum-attribute </NXdetector/data@check_sum-attribute>`
* :ref:`/NXdetector/data@long_name-attribute </NXdetector/data@long_name-attribute>`
* :ref:`/NXdetector/data_errors-field </NXdetector/data_errors-field>`
* :ref:`/NXdetector/data_file-group </NXdetector/data_file-group>`
* :ref:`/NXdetector/dead_time-field </NXdetector/dead_time-field>`
* :ref:`/NXdetector/description-field </NXdetector/description-field>`
* :ref:`/NXdetector/detection_gas_path-field </NXdetector/detection_gas_path-field>`
* :ref:`/NXdetector/DETECTOR_MODULE-group </NXdetector/DETECTOR_MODULE-group>`
* :ref:`/NXdetector/DETECTOR_MODULE/CYLINDRICAL_GEOMETRY-group </NXdetector/DETECTOR_MODULE/CYLINDRICAL_GEOMETRY-group>`
* :ref:`/NXdetector/DETECTOR_MODULE/OFF_GEOMETRY-group </NXdetector/DETECTOR_MODULE/OFF_GEOMETRY-group>`
* :ref:`/NXdetector/detector_number-field </NXdetector/detector_number-field>`
* :ref:`/NXdetector/detector_readout_time-field </NXdetector/detector_readout_time-field>`
* :ref:`/NXdetector/detector_type-field </NXdetector/detector_type-field>`
* :ref:`/NXdetector/detector_voltage-field </NXdetector/detector_voltage-field>`
* :ref:`/NXdetector/diameter-field </NXdetector/diameter-field>`
* :ref:`/NXdetector/distance-field </NXdetector/distance-field>`
* :ref:`/NXdetector/efficiency-group </NXdetector/efficiency-group>`
* :ref:`/NXdetector/efficiency/efficiency-field </NXdetector/efficiency/efficiency-field>`
* :ref:`/NXdetector/efficiency/wavelength-field </NXdetector/efficiency/wavelength-field>`
* :ref:`/NXdetector/efficiency@axes-attribute </NXdetector/efficiency@axes-attribute>`
* :ref:`/NXdetector/efficiency@signal-attribute </NXdetector/efficiency@signal-attribute>`
* :ref:`/NXdetector/efficiency@wavelength_indices-attribute </NXdetector/efficiency@wavelength_indices-attribute>`
* :ref:`/NXdetector/flatfield-field </NXdetector/flatfield-field>`
* :ref:`/NXdetector/flatfield_applied-field </NXdetector/flatfield_applied-field>`
* :ref:`/NXdetector/flatfield_errors-field </NXdetector/flatfield_errors-field>`
* :ref:`/NXdetector/frame_start_number-field </NXdetector/frame_start_number-field>`
* :ref:`/NXdetector/frame_time-field </NXdetector/frame_time-field>`
* :ref:`/NXdetector/gain_setting-field </NXdetector/gain_setting-field>`
* :ref:`/NXdetector/gas_pressure-field </NXdetector/gas_pressure-field>`
* :ref:`/NXdetector/GEOMETRY-group </NXdetector/GEOMETRY-group>`
* :ref:`/NXdetector/input-field </NXdetector/input-field>`
* :ref:`/NXdetector/input@local_name-attribute </NXdetector/input@local_name-attribute>`
* :ref:`/NXdetector/layout-field </NXdetector/layout-field>`
* :ref:`/NXdetector/local_name-field </NXdetector/local_name-field>`
* :ref:`/NXdetector/number_of_cycles-field </NXdetector/number_of_cycles-field>`
* :ref:`/NXdetector/pixel_mask-field </NXdetector/pixel_mask-field>`
* :ref:`/NXdetector/pixel_mask_applied-field </NXdetector/pixel_mask_applied-field>`
* :ref:`/NXdetector/polar_angle-field </NXdetector/polar_angle-field>`
* :ref:`/NXdetector/raw_time_of_flight-field </NXdetector/raw_time_of_flight-field>`
* :ref:`/NXdetector/raw_time_of_flight@frequency-attribute </NXdetector/raw_time_of_flight@frequency-attribute>`
* :ref:`/NXdetector/real_time-field </NXdetector/real_time-field>`
* :ref:`/NXdetector/saturation_value-field </NXdetector/saturation_value-field>`
* :ref:`/NXdetector/sensor_count-field </NXdetector/sensor_count-field>`
* :ref:`/NXdetector/sensor_material-field </NXdetector/sensor_material-field>`
* :ref:`/NXdetector/sensor_pixel_size-field </NXdetector/sensor_pixel_size-field>`
* :ref:`/NXdetector/sensor_pixels-field </NXdetector/sensor_pixels-field>`
* :ref:`/NXdetector/sensor_size-field </NXdetector/sensor_size-field>`
* :ref:`/NXdetector/sensor_thickness-field </NXdetector/sensor_thickness-field>`
* :ref:`/NXdetector/sequence_number-field </NXdetector/sequence_number-field>`
* :ref:`/NXdetector/serial_number-field </NXdetector/serial_number-field>`
* :ref:`/NXdetector/slot-field </NXdetector/slot-field>`
* :ref:`/NXdetector/slot@local_name-attribute </NXdetector/slot@local_name-attribute>`
* :ref:`/NXdetector/solid_angle-field </NXdetector/solid_angle-field>`
* :ref:`/NXdetector/start_time-field </NXdetector/start_time-field>`
* :ref:`/NXdetector/start_time@start-attribute </NXdetector/start_time@start-attribute>`
* :ref:`/NXdetector/stop_time-field </NXdetector/stop_time-field>`
* :ref:`/NXdetector/stop_time@start-attribute </NXdetector/stop_time@start-attribute>`
* :ref:`/NXdetector/threshold_energy-field </NXdetector/threshold_energy-field>`
* :ref:`/NXdetector/time_of_flight-field </NXdetector/time_of_flight-field>`
* :ref:`/NXdetector/time_of_flight@axis-attribute </NXdetector/time_of_flight@axis-attribute>`
* :ref:`/NXdetector/time_of_flight@long_name-attribute </NXdetector/time_of_flight@long_name-attribute>`
* :ref:`/NXdetector/time_of_flight@primary-attribute </NXdetector/time_of_flight@primary-attribute>`
* :ref:`/NXdetector/trigger_dead_time-field </NXdetector/trigger_dead_time-field>`
* :ref:`/NXdetector/trigger_delay_time-field </NXdetector/trigger_delay_time-field>`
* :ref:`/NXdetector/trigger_delay_time_set-field </NXdetector/trigger_delay_time_set-field>`
* :ref:`/NXdetector/trigger_internal_delay_time-field </NXdetector/trigger_internal_delay_time-field>`
* :ref:`/NXdetector/type-field </NXdetector/type-field>`
* :ref:`/NXdetector/underload_value-field </NXdetector/underload_value-field>`
* :ref:`/NXdetector/x_pixel_offset-field </NXdetector/x_pixel_offset-field>`
* :ref:`/NXdetector/x_pixel_offset@axis-attribute </NXdetector/x_pixel_offset@axis-attribute>`
* :ref:`/NXdetector/x_pixel_offset@long_name-attribute </NXdetector/x_pixel_offset@long_name-attribute>`
* :ref:`/NXdetector/x_pixel_offset@primary-attribute </NXdetector/x_pixel_offset@primary-attribute>`
* :ref:`/NXdetector/x_pixel_size-field </NXdetector/x_pixel_size-field>`
* :ref:`/NXdetector/y_pixel_offset-field </NXdetector/y_pixel_offset-field>`
* :ref:`/NXdetector/y_pixel_offset@axis-attribute </NXdetector/y_pixel_offset@axis-attribute>`
* :ref:`/NXdetector/y_pixel_offset@long_name-attribute </NXdetector/y_pixel_offset@long_name-attribute>`
* :ref:`/NXdetector/y_pixel_offset@primary-attribute </NXdetector/y_pixel_offset@primary-attribute>`
* :ref:`/NXdetector/y_pixel_size-field </NXdetector/y_pixel_size-field>`
* :ref:`/NXdetector/z_pixel_offset-field </NXdetector/z_pixel_offset-field>`
* :ref:`/NXdetector/z_pixel_offset@axis-attribute </NXdetector/z_pixel_offset@axis-attribute>`
* :ref:`/NXdetector/z_pixel_offset@long_name-attribute </NXdetector/z_pixel_offset@long_name-attribute>`
* :ref:`/NXdetector/z_pixel_offset@primary-attribute </NXdetector/z_pixel_offset@primary-attribute>`
* :ref:`/NXdetector@default-attribute </NXdetector@default-attribute>`

**NXDL Source**:
  https://github.com/nexusformat/definitions/blob/main/contributed_definitions/NXdetector.nxdl.xml