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.

class xconf.spectrometer.JohannSpectrometer(*args, **kwargs)[source]

Describe the Johann type spectrometer.