McXtrace - Monte Carlo Xray Tracing, is a joint venture by
Our code is based on technology from
Code repository (shared with 'McStas') is located at github.com/mccode-dev
For information on our progress, please subscribe to our user mailinglist..
- To download the latest release: download area
- For installation instructions :
- For a quick list of the available commands: commands
Recent McXtrace News
Migrating from McXtrace 1.x to 3.x? - Use the wiki-based
guides
June 17th, 2025: McStas and McXtrace 3.5.32 released
McStas and McXtrace release 3.5.32 is now available.
McStas installation instructions are found
on GitHub .
What's Changed
Common changes to McStas and McXtrace
- Deployment, platforms and CI
- [CI] Let "autobuild" CI scripts create arm64 debs for mccode.org by @willend in #1981
Tools:
- [Feature] mcgui/mxgui: show current instrument name in dialogues by @farhi in #1989
- [Feature] VSCode McStas/McXtrace grammar extension
- Update vs code extension by @Lomholy in #1975
- Small updates to editor, as well as updated installation information by @Lomholy in #1977
- [Feature] LaTeX math (formulae etc) for mcdoc %Description headers by @willend in #2054
Code generator/Grammar:
- [Feature] Unified McStas/McXtrace, c and .py code generators defined from common set of files in mccode/src
- Unify grammar take2 by @willend in #2008
- Unify instr y c py: unify our code generators for C and Python by @farhi in #2009
- [Feature] NEW
INHERIT
keyword in the component grammar: Allows to mix and match component sections from multiple components to achieve new functionality.
For an example use see
- [Feature] Add ADR (Architectural Design Record) for grammar changes
- Add doc folder for proposed, accepted, rejected, deprecated, superseded changes of McCode GRAMMAR by @willend in #2064
- Put in place folder for grammar documentation by @willend in #2070
- [Feature] The McStas/McXtrace code generators have a new commandline switch --version-num to print the version number only.
- [Feature] New CLI default for mcstas / mcxtrace: --trace is on (This allows any compiled instrument to run with --trace=0 by @willend in #2010 and #2023)
Libs and runtime (various minor changes)
- Add Open_File in header (used from e.g. PowderN) by @willend in #2014
- Wrap cabs in OpenACC settings by @willend in #2016
- Swap default trace behaviour to 'enabled' by @willend in #2023
- cif2hkl: update to solve F^2 for Xrays using latest CrysFML by @farhi in #2021
- Openacc minor rectifications by @willend in #2027
MCPL Components
- [Feature] Update MCPL components for MCPL 2.2.0 features (including stat:sum). by @tkittel in #2046
- [Feature] Sync MCPL components McStas <-> McXtrace for MCPL 2.2.0 support by @willend in #2019
- [Feature] Please consult the GitHub discussion on MCPL > 2.0 support in McStas / McXtrace
McStas specific:
- [Bugfix] Source_custom
- Fixed minor typo in docs by @pablogila in #1980
- Fixed pulse normalisation for all values of n by @pablogila in #2024
- Simplified redundant code for the peak integral calculation by @pablogila in #2025
- [Bugfix and feature] Resolution sample/monitor
- Reso: Updates by @tweber-ill in #1992
- Add infrastructure to save calculated resolution/covariance matrices by @willend in #1993
- Sync Res_monitor <-> TOFRes_monitor by @willend in #1995
- [Bugfix] Add mcresplot to debian metapackage by @willend in #2022
- [Bugfix] Monitor_nD pixel id and buffer fix by @mads-bertelsen in #2002
- [Bugfix] Add exit attenuation to Incoherent.comp for finite order scattering by @Lomholy in #2042
- [Bugfix] Updates to Monochromator_bent from @Lomholy by @willend in #2059 and #2058
McXtrace specific:
- [Features and bugfixes] McXtrace fluorescence:
- McXtrace: fix header doc in fluo sample (powder and SX) by @farhi in #1974
- McXtrace fluo fix pow 0 by @farhi in #1979
- McXtrace fluo fix 2 by @farhi in #1988
- McXtrace fluo fix : fix in powder select - use gaussian line shape by @farhi in #1994
- McXtrace: samples: fluo: add M-lines via XrayLib Kissel CSb calls by @farhi in #2004
- McXtrace: samples: fluo: fix again the Fluo share by @farhi in #2005
- McXtrace add fluo mcdisplay by @farhi in #2015
- McXtrace fluo add detector 0 by @farhi in #2029
- [Bugfix] Fix compilation of McXtrace Test_PowderN instr by @willend in #2000
- [Bugfixes] McXtrace various example instrument updates by @farhi in
- [Bugfix] cif2hkl: update to solve F^2 for Xrays using latest CrysFML by @farhi in #2021
- [Feature]McXtrace: add SWING BL at SOLEIL by @farhi in #2036
Full Changelog: https://github.com/mccode-dev/McCode/compare/v3.5.27...v3.5.32
April 29th, 2025: McStas and McXtrace 3.5.27 released
Dear all,
McStas and McXtrace release 3.5.27 is now available.
McXtrace installation instructions are found on GitHub .
What's Changed - common McStas/McXtrace highlights:
- [Feature] McStas and McXtrace are now fully on conda-forge also
for Windows, since MCPL 2.0 arrived.
This means that we now recommend to install via this mechanism on Windows. See the instructions
for details.
- [Feature]
mcrun/mxrun
have a new -y
switch which runs a given instrument using its default parameters.
- [BUGFIX]
mcplot/mxplot
should now deal better with
negative / very small numbers in 'log' mode plotting.
- [Feature]
mcgui/mxgui
improved tooltips on the run dialogue.
- [Feature]
rootmccode
works with newer versions of ROOT
- [BUGFIX] The KISS random number generator was earlier running
with systematically different random numbers (and a shorter period)
on Windows.
Identical instruments now run with identical
random numbers across platforms, when using identical seed.
- [CI, packaging, platform support] Lots of work behind the scenes
for portability, packaging, and improved CI of the code on
GitHub.
Better standard solutions and easier possibility of spotting when/if we make errors!
What's Changed - McXtrace specific highlights:
- [Feature] New components for Fluorescence + Single_crystal and
Fluoresence + Powder.
Come with corresponding new test instruments.
What's Changed - McStas specific highlights:
- [BUGFIX] As reported on mcstas-users,
reflective/transmissive polarisers/analysers could sometimes lead to
|P|>1
.
This is now fixed by ellimination of
"non-up-down" polarisation components when measuring an "up-down"
polarisation.
- [Feature] Contributed component Source_custom by @pablogila,
useful features for simulatiung e.g. CANS and other pulsed
sources.
Comes with corresponding new test instrument.
For a full list of changes, please consult the
CHANGES
or
GitHub release notes
April 6th, 2025: Component doc pages back online
We are now in the air with new server hardware.
Among other things this means that component mxdoc pages are back online
- by popular demand!
April 5th, 2025: Ongoing webserver upgrade
We are in the process of upgrading the webserver for McStas,
McXtrace and other sites. Please bear with us if you experience
service interruptions. :-)
February 19th, 2025: McStas and McXtrace 3.5.24 released
Dear all,
McStas and McXtrace release 3.5.24 is now available - McXtrace installation
instructons on GitHub .
What's Changed
Important note
- McStas and McXtrace will soon change organisation-name on GitHub - from McStasMcXtrace -> mccode-dev
Components and instruments
Interfaces and interoperability with other codes
- Thanks to @g5t for ping-pong on this :)
- [Feature]
mccode-antlr
is an alternative code-generator for McStas and McXtrace - a new development by @g5t and based on ANTLR
instead of lex/yacc
. The new tool is mainly written in python and thus has a lower barrier for changes in language syntax and code generation. The tool implementations mcstas-antlr
and mcxtrace-antlr
are thus a candidate implementations to potentially replace the classic mcstas
and mcxtrace
code generators in the future. Current status is that
- McStas:
mcstas-antlr
is fully feature complete wrt. mcstas
for CPU simulations and close to complete for GPU simulations
- McXtrace: Not all instruments will compile using
mcxtrace-antlr
but basic functionality is in place
- To try:
- Install
mccode-antlr
from conda-forge
or via pip
- Adapt your configuration to use e.g.
mcstas-antlr
by
- Setting the new
--cogen=mcstas-antlr
option in mcrun
- Enable or edit the
MCCOGEN
field of mccode_config.json
using the new Save/Edit configuration
in mcgui
- (The antlr tools default to download comps etc. to an internal cache: Add e.g.
-I${MCSTAS}
to prefer ingredients fromyour local library)
- Use the
mcrun-antlr/mxrun-antlr
tools provided directly by mccode-antlr
- Debian/Ubuntu
- Windows
- [Feature] NCrystal is now available with McStas on Windows
- [Info] Windows via cross-compiled
.exe
installer from mccode.org
:
Please place the MCPL-related .bat
files from the extras
folder in e.g. c:\mcstas-3.5.24\bin
to enable MCPL
(May require giving your user 'full access' permissions to the bin folder)
- [Info] Windows via conda-forge: MCPL is not yet available but expected during the spring
Full Changelog: https://github.com/mccode-dev/McCode/compare/v3.5.16...v3.5.24
2024,
2023,
2022,
2021,
2020 and older News
mailto:webmaster@mcxtrace.org
Last Modified: Tuesday, 17-Jun-2025 20:12:02 CEST