Status:
base class, extends NXobject, version 1.0
Description:
NXguide is used by neutron instruments to describe a guide consists of several mirrors building a shape through which neutrons can be guided or directed. The simplest such form is box shaped although elliptical guides are gaining in popularity. The individual parts of a guide usually have common characteristics but there are cases where they are different. For example, a neutron guide might consist of 2 or 4 coated walls or a supermirror bender with multiple, coated vanes.
To describe polarizing supermirrors such as used in neutron reflection, it may be necessary to revise this definition of NXguide to include NXpolarizer and/or NXmirror.
When even greater complexity exists in the definition of what constitutes a guide, it has been suggested that NXguide be redefined as a NXcollection of NXmirrors each having their own NXgeometries describing their location(s).
For the more general case when describing mirrors, consider using NXmirror.
NOTE: The NeXus International Advisory Committee welcomes comments for revision and improvement of this definition of NXguide.
Symbols:
nsurf: number of reflecting surfaces
nwl: number of wavelengths
Structure:
description: NX_CHAR
A description of this particular instance of NXguide.incident_angle: NX_FLOAT {units=NX_ANGLE}
TODO: documentation neededbend_angle_x: NX_FLOAT {units=NX_ANGLE}
TODO: documentation neededbend_angle_y: NX_FLOAT {units=NX_ANGLE}
TODO: documentation neededinterior_atmosphere: NX_CHAR
Any of these values: vacuum | helium | argonexternal_material: NX_CHAR
external material outside substratem_value[nsurf]: NX_FLOAT
The m value for a supermirror, which defines the supermirror regime in multiples of the critical angle of Nickel.substrate_material[nsurf]: NX_FLOAT
TODO: documentation neededsubstrate_thickness[nsurf]: NX_FLOAT {units=NX_LENGTH}
TODO: documentation neededcoating_material[nsurf]: NX_FLOAT
TODO: documentation neededsubstrate_roughness[nsurf]: NX_FLOAT {units=NX_LENGTH}
TODO: documentation neededcoating_roughness[nsurf]: NX_FLOAT {units=NX_LENGTH}
TODO: documentation needednumber_sections: NX_INT {units=NX_UNITLESS}
number of substrate sections (also called nsurf as an index in the NXguide specification)(geometry): NXgeometry
TODO: Explain what this NXgeometry group means. What is intended here?reflectivity: NXdata
Reflectivity as function of reflecting surface and wavelength
data[nsurf, nwl]: NX_NUMBER
reflectivity of each surface as a function of wavelength
@signal: NX_POSINT
Use signal=1 to indicate that this is the plottable data for NeXus.
Obligatory value: 1
@axes: NX_CHAR
Use axes="surface:wavelength" to indicate the dimension scales to be used when plotting this data.
Obligatory value: surface:wavelength
surface[nsurf]: NX_NUMBER {units=NX_ANY}
List of surfaces. Probably best to use index numbers but the specification is very loose.wavelength[nwl]: NX_NUMBER {units=NX_WAVELENGTH}
wavelengths at which reflectivity was measured