3D Illustration

McXtrace – Monte Carlo X-ray ray tracing

McXtrace is a Monte Carlo ray-tracing simulator for X-ray instruments and experiments. It is designed for modelling the transport of X-rays through beamline components, samples and detectors.

Synchrotron and laboratory X-ray experiments often depend on intricate optical arrangements. The performance of a beamline may be affected by source characteristics, apertures, reflective elements, monochromators and the geometry of the sample environment.

McXtrace allows researchers to construct a virtual instrument and investigate how photons propagate through its components. This helps scientists design new beamlines, optimise experimental configurations and predict the properties of radiation reaching a detector.

The software uses high-level textual descriptions of instruments. These definitions are translated into executable simulation code, making it possible to explore both standard experimental arrangements and unusual configurations.

McXtrace shares development infrastructure with McStas, the corresponding neutron ray-tracing simulator. This common architecture supports reusable components, familiar simulation workflows and numerical analysis tools.

Researchers can use McXtrace for experiment planning, instrument performance studies, educational demonstrations and the interpretation of experimental measurements.

This is free and open source software.

Key Features

  • Monte Carlo ray tracing for X-ray beamlines and experiments.
  • High-level textual descriptions of instrument configurations.
  • Automatic generation of executable simulation programs.
  • Libraries of reusable X-ray instrument components.
  • Representation of X-ray sources, optical elements and detectors.
  • Modelling of photon propagation and component interactions.
  • Parameter studies for optimising instrument configurations.
  • Virtual experiments for planning and instrument evaluation.
  • Simulation monitors for recording photon and beam properties.
  • Histogram output and scientific data analysis tools.
  • NeXus and HDF5 data output.
  • Instrument geometry and ray-trajectory visualisation.
  • Graphical and command-line simulation interfaces.
  • Parallel execution for larger simulation workloads.
  • Cross-platform support – runs on Linux, macOS, and Windows.

Website: www.mcxtrace.org
Support:
Developer: Technical University of Denmark and Synchrotron SOLEIL, with contributors
License: GNU General Public License v3.0

McXtrace
Click image for full size

McXtrace is written in C and Fortran. Learn C with our recommended free books and free tutorials. Learn Fortran with our recommended free books and free tutorials.


Related Software

Ray Tracing Software
POV-RayFull-featured ray tracer
Blender3D content creation suite with a huge range of uses
McXtraceMonte Carlo Xray Tracing for simulation X-ray beamlines and experiments
McStasSimulator for neutron scattering instruments and experiments
EmbreeHigh-performance ray tracing library
LuxCoreRenderRendering system for physically correct image synthesis
pbrtPhysically based ray tracing system
OSPRayScalable and portable ray tracing engine
BRL-CADCombinatorial Constructive Solid Geometry (CSG) solid modeling system
VisionarayC++ ray tracing template library
MantaRayAdvanced renderer using modern rendering techniques
YafaRayMontecarlo raytracing engine
TachyonParallel / multiprocessor ray tracing system

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted