Triple-Axis spectrometer classes

These classes are specific to the operation of triple-axis spectrometers.

All classes described here are re-exported in the nicos.tas module, so for example both nicos.tas.Monochromator and nicos.tas.mono.Monochromator are valid entries for the class name in a setup file.

class nicos.tas.mono.Monochromator

Bases: HasLimits, HasPrecision, Moveable

General monochromator theta/two-theta device.

It supports setting the unit parameter to different values and will calculate the theta/two-theta angles correctly for each supported value:

  • “A-1” – wavevector in inverse Angstrom
  • “A” – wavelength in Angstrom
  • “meV” – energy in meV
  • “THz” – energy in THz

Also supported is a focussing monochromator setup. For this, set the focush and focusv attached devices to the axes that control the focussing, and set hfocuspars and vfocuspars to a list of coefficients (starting with the constant coefficient) for a polynomial that calculates the focush and focusv values from a given wavelength.

Attached devices

focush

Horizontal focusing axis. Type: Moveable.

focusv

Vertical focusing axis. Type: Moveable.

theta

Monochromator rocking angle. Type: HasPrecision.

twotheta

Monochromator scattering angle. Type: HasPrecision.

Parameters

dvalue (float, settable at runtime, mandatory in setup)

d-value of the reflection used. Unit: A.

focmode (one of 'manual', 'flat', 'horizontal', 'vertical', 'double', settable at runtime)

focussing mode. Default value: 'manual'.

hfocuspars (a list of float, settable at runtime)

horizontal focus polynomial coefficients. Default value: [0.0].

order (int, settable at runtime)

order of reflection to use. Default value: 1.

reltheta (bool)

true if theta position is relative to two-theta. Default value: False.

scatteringsense (one of 1, -1)

default scattering sense when not used in triple-axis mode. Default value: 1.

sidechange (int)

Default value: False.

vfocuspars (a list of float, settable at runtime)

vertical focus polynomial coefficients. Default value: [0.0].

warninterval (float)

interval between warnings about theta/two-theta mismatch. Default value: 5. Unit: s.

Parameters inherited from the base classes: abslimits, description, fixed, fmtstr, loglevel, lowlevel, maxage, pollinterval, precision, target, unit, userlimits

class nicos.tas.spectro.TAS

Bases: Instrument, Moveable

An instrument class that can move in (q,w) space.

When setting up a triple-axis configuration, use this as your instrument device (or derive an individual subclass).

Attached devices

ana

Analysator device. Type: Monochromator.

cell

Unit cell object to calculate angles. Type: Cell.

mono

Monochromator device. Type: Monochromator.

phi

Sample scattering angle. Type: Moveable.

psi

Sample rocking angle. Type: Moveable.

Parameters

axiscoupling (bool, settable at runtime)

Whether the sample th/tt axes are coupled. Default value: True.

collimation (str, settable at runtime)

Collimation settings. Default value: ''.

energytransferunit (str, settable at runtime)

Energy transfer unit. Default value: 'THz'.

psi360 (bool, settable at runtime)

Whether the range of psi is 0-360 deg (otherwise -180-180 deg is assumed). Default value: True.

scanconstant (float, settable at runtime)

Constant of the operation mode. Default value: 0.

scanmode (str, settable at runtime)

Operation mode: one of CKI, CKF, CPHI, CPSI, DIFF. Default value: 'CKI'.

scatteringsense (a tuple of (int, int, int), settable at runtime)

Scattering sense. Default value: (1, -1, 1).

Parameters inherited from the base classes: countloopdelay, description, fixed, fmtstr, instrument, loglevel, lowlevel, maxage, pollinterval, responsible, target, unit

class nicos.tas.cell.TASSample

Bases: Sample, Cell

TAS-specific Sample subclass with cell information.

This class can do all the necessary computations to calculate instrument angles from a given (hkl) value. This is used by the TAS instrument class to enable movement in (q,w) space.

When setting up a triple-axis configuration, use this as your sample device.

Parameters inherited from the base classes: angles, description, lattice, loglevel, lowlevel, orient1, orient2, psi0, samplename

Previous topic

Virtual devices for testing

Next topic

Taco classes