base class, extends NXobject


Geometry (shape) description. The format closely matches the Object File Format (OFF) which can be output by most CAD software. It can be used to describe the shape of any beamline component, including detectors. In the case of detectors it can be used to define the shape of a single pixel, or, if the pixel shapes are non-uniform, to describe the shape of the whole detector.


These symbols will be used below.

i: number of vertices in the shape

k: number of faces in the shape

l: number faces which are detecting surfaces or form the boundary of detecting volumes

Groups cited:



vertices[i, 3]: (optional) NX_NUMBER {units=NX_LENGTH}

List of x,y,z coordinates for vertices. The origin of the coordinates is the position of the parent component, for example the NXdetector which the geometry describes. If the shape describes a single pixel for a detector with uniform pixel shape then the origin is the position of each pixel as described by the x/y/z_pixel_offset datasets in NXdetector.

winding_order[j]: (optional) NX_INT

List of indices of vertices in the vertices dataset to form each face, right-hand rule for face normal.

faces[k]: (optional) NX_INT

The start index in winding_order for each face.

detector_faces[l, 2]: (optional) NX_INT

List of pairs of index in the “faces” dataset and detector id. Face IDs in the first column, and corresponding detector IDs in the second column. This dataset should only be used only if the NXoff_geometry group is describing a detector. Note, the face indices must be in ascending order but need not be consecutive as not every face in faces need be a detecting surface or boundary of detecting volume. Can use multiple entries with the same detector id to define detector volumes.

NXDL Source: