Core Operations#

A diffractometer’s .core provides most of its functionality. The core conducts transactions with the Solver on behalf of the diffractometer. These transactions include the forward() and inverse() coordinate transformations, at the core of scientific measurements using a diffractometer.

Python class

Purpose

DiffractometerBase

ophyd PseudoPositioner

Core

The class for a diffractometer’s .core operations.

SolverBase

Code for diffractometer geometries and capabilities.

In addition to Solver transactions, the .core manages all details involving the set of samples and their lattices & reflections.

See also

How to Work with a Diffractometer for step-by-step instructions on creating and using a diffractometer object.

Core concepts#

The table below summarizes the main topics managed by .core and points to where each is described in more detail.

Concept

Summary

More detail

Solver

Backend library that implements diffractometer geometries, modes, and the forward() / inverse() transformations.

Solvers

Geometry & mode

The physical arrangement of axes (e.g. E4CV) and the computation mode (e.g. bissector, constant_phi) that controls how the solver assigns axis values.

Diffractometer

Wavelength

Beam wavelength used in forward() / inverse() calculations; defaults to 1 Å.

Wavelength

Sample & lattice

Crystal sample with its unit-cell lattice parameters; multiple samples can be registered and switched between.

Sample, Crystal Lattice

Reflections & UB matrix

Measured orientation reflections used to compute the UB orientation matrix via calc_UB().

Orientation Reflection

Constraints

Limits on real-axis ranges that filter the solutions returned by forward(). Act after computation.

Constraints

Axis names

Cross-reference map between diffractometer axis names and solver axis names, set by assign_axes().

Diffractometer Axis Names

Presets

Per-mode constant-axis values the solver assumes during forward() instead of the current motor positions; do not move any motor. Act before computation.

Presets