Scans are needed to construct simulations of types reflectometry, off-specular scattering, depth probe.
There are two types of scan:
To specify a scan with n
equidistant steps in the glancing angle $\alpha_\text{i}$, use
scan = ba.AlphaScan(n, alpha_start, alpha_stop)
Usage is demonstrated by most examples in Examples/specular .
For other sequences of $\alpha_\text{i}$ values, use the more generic
scan = ba.AlphaScan(axis)
The Axis API may change soon and will be documented then.
After constructing a scan, set the wavelength and optionally a constant offset $\delta\alpha_\text{i}$ using
scan.setWavelength(lambda)
scan.setAlphaOffset(dalpha)
To specify a scan with n
equidistant steps in the vertical wavenumber $q_z$, use
scan = ba.QzScan(n, qz_start, qz_stop)
For other sequences of $q_z$ values, use the more generic
scan = ba.AlphaScan(axis)
The Axis API may change soon and will be documented then.
A third alternative consists in passing a NumPy array,
import numpy as np
qz_vector = np.linspace(0.01, 1, n)
scan = ba.QzScan(qz_vector)
After constructing a scan, set the wavelength and optionally a constant offset $\delta q_z$ using
scan.setWavelength(lambda)
scan.setOffset(dqz)
Usage is demonstrated in page time-of-flight reflectometry.
Handling of resolution will change soon. The current API is demonstrated in page time-of-flight reflectometry with resolution.