User and Programmers’ Guide to the X Ray-Tracing Package McXtrace, version 3.8.6

7.1  Component categories

The library (located under the mcxtrace-comps directory of the McXtrace source/installation tree, see section 5.2.2 in the User Manual for how McXtrace locates it) is organised into the following top-level categories:

sources

Components that define the initial photon ray state – including point, flat, divergent and full-featured laboratory-source models – see chapter ??.

optics

Mirrors, lenses, slits, crystal monochromators, and other beam-manipulating components.

samples

Components modelling matter placed in the beam for scattering/absorption studies (SAXS models, powders, single crystals, …) – see chapter ??.

monitors

Components that record/histogram the photon beam without otherwise affecting it.

misc

Components that do not fit the other categories, e.g. the Progress_bar and beam-statistics utilities.

union

The Union framework: a set of process/geometry components that can be freely combined to describe complex, possibly nested and overlapping sample environments with multiple scattering, decoupling the description of where matter is from what it does to the photon (Compton/Rayleigh scattering, photoelectric absorption, powder diffraction, …).

sasmodels

Small-angle scattering form factors generated from the SasView/sasmodels project, exposed via the SasView_model component.

astrox

Components specific to the AstroX branch of McXtrace, modelling grazing-incidence X-ray optics for astronomical instrumentation (nested Wolter-type mirror shells, pore and micropore optics).

contrib

Components contributed by McXtrace users. The McXtrace core team provides the same technical support as for other categories, but authored and maintained the code less directly; contributed components are generally reliable, but see each component’s own validation/bugs notes. Components in contrib that mature and gain wide use are periodically promoted into one of the core categories above – always check with mxdoc rather than assuming a component’s category from an older document.

obsolete

Components that were renamed or superseded. They are kept, and continue to work, purely for backwards compatibility with existing instrument files; new instrument development should avoid them (mxdoc will point to the current replacement where one exists).