Spectrometer¶
Handle von Hamos type and Johann type X-ray spectrometers.
-
class
xconf.spectrometer.
Spectrometer
(source, analyzers, detector)[source]¶ Spectrometer base class. This spectrometer consists of analyzers.
-
compute_configurations
(energy, max_order, min_angle, detector_pos, vhs_tilt, filter=[])[source]¶ Return all feasible spectrometer configuration, considering each analyzer. This might be used to test different analyzer crystals, or to evaluate the same analyzer crystal at different positions. Giving a list of analyzer, i.e. [[‘Ge’, 1, 1, 0],…] as filter will then only return configurations with those analyzers.
-
-
class
xconf.spectrometer.
vonHamosSpectrometer
(*args, **kwargs)[source]¶ Describe the von Hamos type spectrometer.
-
calculate_geometry
(energy, hkl, source, analyzer, detector, vhs_tilt, detector_pos=None)[source]¶ Calculate the spectrometer geometry, i.e. the distances and angles between source, analyzer and detector for a given energy. The detector position detector_pos can be forced to a fixed position.
The return value is a dict (see below):
key
value
detector_pos
Distance from sample to detector.
analyzer_dis
Distance from sample to the analyzer crystal.
analyzer_pos
Offset of the analyzer crystal from sample along a line between sample and detector.
xtal_th_min
Minimal angle on xtal surface
xtal_th_max
Maximal angle on xtal surface
det_th_min
Minimal angle on detector surface
det_th_max
Maximal angle on detector surface
-
get_geometric_resolution
(source, analyzer, detector, geometry, hkl)[source]¶ Compute the minimal and maximal angle under which X-ray photons are allowed to bragg-scatter from the analyzer surface to still reach a certain pixel on the detector. Those angles determine the geometric energy bandwidth of the pixel.
Specifiy a source, analyzer and detector, set up in a geometry. The Miller indizes hkl are needed to determine the energy for a given angle on the analyzer.
-