McXtrace logo

McXtrace - An X-ray ray-trace simulation package

Synchrotron SOLEIL DTU Physics

McXtrace

About McXtrace
 Publications
 Project Partners
 Project People
 Goal

Download
 Components

Documentation
 Manual
 Commands
 Wiki (GitHub)
 Tutorial

Mailing list

Links

Search

Code-repository (GitHub)

Report bugs (GitHub)


1 Introduction to McXtrace

1  Introduction to McXtrace

Efficient design and optimization of x-ray beamlines are formidable challenges. In many cases Monte Carlo techniques are well matched to meet these challenges. McXtrace is an effort to port the framework provided to the neutron scattering community by the McStas package, to x-ray scattering. McStas has, since its inception in October ’98, been used successfully at all major neutron scattering facilities in the world. A particular power of McStas is its geometry engine, which has been adopted by McXtrace, with little modification. The device library of McXtrace is not yet as complete as its sibling McStas but is growing rapidly. At the time of writing it is complete enough to be able to perform simulations approximating any standard beamline.

McXtrace is a fast and versatile software tool. It is based on a meta-language specially designed for x-ray (and neutron) simulation. Specifications are written in this language by users and automatically translated into efficient simulation codes in ANSI-C. The present version supports both continuous and pulsed source beamlines, and includes a library of standard components with total around 100 components.

The McXtrace package is written in ANSI-C and is freely available for download from the McXtrace website [Mcx]. The package is actively developed and supported by Physics Department, Technical University of Denmark, Kgs. Lyngby, Denmark., Niels Bohr Institute, University of Copenhagen, Copenhagen, Denmark., European Synchrotron Radiation Facility, Grenoble, France.and SAXSLAB Aps. The system is tested and is supplied with examples and documentation. Besides this manual, a separate component manual exists which details each individual component separately.


Last Modified: Monday, 05-Oct-2026 10:48:08 CEST
Search website mailinglist archive GitHub repos