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.