Concepts#

hklpy2 block diagram

Functional blocks in hklpy2.#

Overview#

The hklpy2 diffractometer [1] is an ophyd PseudoPositioner, [2] providing both pseudo coordinates and real coordinates. Movement in one coordinate space updates the coordinates of the other space. For diffractometers, the orientation matrix ($UB$) enables transformation between the two spaces.

Note

A monochromatic [3] radiation source is expected. See Wavelength for more details.

Coordinates#

pseudos:

Virtual coordinates (crystallographic h, k, l), computed from reals.

reals:

Positioners (rotation motors) in physical coordinates.

An ophyd PseudoPositioner relies on the forward() and inverse() methods.

Transformations#

from

to

solution(s)

transformation

reals

pseudos

1

hklpy2.diffract.DiffractometerBase.inverse()

pseudos

reals

1 or exception

hklpy2.diffract.DiffractometerBase.forward()

pseudos

reals

0, 1 or more

hklpy2.ops.Core.forward()

Note

The diffractometer’s forward() method picks the default solution from the list returned from core.forward(). Initially, the first solution in the list is chosen.

Solvers#

A Solver provides computational support for one or more diffractometer geometries. Each geometry has a specific set of pseudos, reals, and other terms which support the forward() and inverse() transformations. See Solvers for more details.

Core Operations#

The DiffractometerBase class provides the ophyd PseudoPositioner. This class relies on Operations to provide most features (sample, lattice, reflections, …) and to connect with the diffractometer’s chosen Solver. See Core Operations for more details.

hklpy2.creator()#

The creator() function reduces the effort to create all but the most complex diffractometer objects. See Diffractometer creator for more details.

DiffractometerBase()#

All diffractometers are created as subclasses of hklpy2.diffract.DiffractometerBase. This base class defines a diffractometer as an ophyd.PseudoPositioner. See Diffractometer for more details.


See also

Glossary

Footnotes