# 3.3.1.11. NXcylindrical_geometry¶

Status:

base class, extends NXobject

Description:

Geometry description for cylindrical shapes. This class can be used in place of NXoff_geometry when an exact representation for cylinders is preferred. For example, for Helium-tube, neutron detectors. 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.

Symbols:

These symbols will be used below.

i: number of vertices required to define all cylinders in the shape

j: number of cylinders in the shape

k: number cylinders which are detectors

Groups cited:
none

Structure:

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.

cylinders[j, 3]: (optional) NX_INT

List of indices of vertices in the vertices dataset to form each cylinder. Each cylinder is described by three vertices A, B, C. First vertex A lies on the cylinder axis and circular face, second point B on edge of the same face as A, and third point C at the other face and on axis.

detector_number[k]: (optional) NX_INT

Maps cylinders in cylinder, by index, with a detector id.
NXDL Source:
https://github.com/nexusformat/definitions/blob/master/base_classes/NXcylindrical_geometry.nxdl.xml