# 3.3.3.8. NXcoordinate_system_set¶

**Status**:

base class, extends NXobject

**Description**:

Container to hold different coordinate systems conventions.

It is the purpose of this base class to define these conventions and offer a place to store mappings between different coordinate systems which are relevant for the interpretation of the data described by the application definition and base class instances.

For each Cartesian coordinate system users should use a set of NXtransformations:

These should define the three base vectors.

The location of the origin.

The affine transformations which bring each axis of this coordinate system into registration with the McStas coordinate system.

Equally, affine transformations should be given for the inverse mapping.

As an example one may take an experiment or computer simulation where there is a laboratory (lab) coordinate system, a sample/specimen coordinate system, a crystal coordinate system, and additional coordinate systems, which are eventually attached to components of the instrument.

If no additional transformation is specified in this group or if an instance of an NXcoordinate_system_set is absent it should be assumed the so-called McStas coordinate system is used.

Many application definitions in NeXus refer to this McStas coordinate system. This is a Cartesian coordinate system whose z axis points along the neutron propagation axis. The systems y axis is vertical up, while the x axis points left when looking along the z-axis. Thus, McStas is a right-handed coordinate system.

Within each NXtransformations a depends_on section is required. The depends_on field specifies if the coordinate system is the root/reference (which is indicated by writing “.” in the depends_on section.)

**Symbols**:

No symbol table

**Groups cited**:

**Structure**:

TRANSFORMATIONS: (optional) NXtransformationsA group of transformations which specify:

Three base vectors of the coordinate system.

Origin of the coordinate system.

A depends_on keyword. Its value can be “.” or the name of an NXtransformations instance which needs to exist in the NXcoordinate_system_set instance.

If the coordinate system is the reference one it has to be named reference.

In case of having more than one NXtransformations there has to be for each additional coordinate system, i.e. the one not the reference:

A set of translations and rotations which map each base vector to the reference.

A set of translations and rotations which map each reference base vector to the coordinate system.

The NXtransformations for these mappings need to be formatted according to the descriptions in NXtransformations.

## Hypertext Anchors¶

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