Allpix Squared

Allpix Squared is a semiconductor detector simulation framework. The goal of the framework is to provide a complete and easy-to-use package for end-to-end simulations of semiconductor detector performance from incident ionizing radiation until the digitization of hits in the detector chip.

67
mentions
58
contributors

Cite this software

What Allpix Squared can do for you

The Allpix Squared framework is a versatile open-source simulation tool for semiconductor detectors. The goal of the framework is to provide detailed and easy-to-use end-to-end simulations for both single and multiple sensor setups of several different sensor materials. While the framework was originally developed for silicon sensors, it now provides the possibility to also simulate charge carrier generation and transport in different semiconductor materials. By an interface to Geant4 the interaction and energy deposition of incident particles can be simulated, and the framework contains several different algorithms and models for charge carrier transport and signal digitisation. The simulation framework also provides an interface to technology computer-aided design (TCAD) simulations, allowing for import of detailed electric fields, electrostatic potentials, and doping profile maps.

The simulation chain of Allpix Squared consists of an extensible system of modules, which implement individual simulation steps. Each module has parameters to customise its behaviour, and the modules and parameters are set up in human-readable configuration files. A user can thus run a full and detailed simulation without changing any C++ code. Some configuration examples can be found in the GitLab repository of the framework.

Allpix Squared simulates the transport of individual charge carriers within a material, and can thus accurately simulate the signal generation process in great detail. The figure below (K. Dort et al.) shows the time evolution of an example signal, by showing the full paths of electrons that have reached the readout implants of a pixelated detector.
Time evolution of charge
Each blue line represents one group of propagating electrons. As time increases, more electrons reach the implants. Charge movement by both drift and diffusion is simulated, and visible in the graphs. Magnetic field effects can also be included in the charge carrier propagation simulation, as well as mobility changes due to doping concentrations, and trapping caused by radiation damage.

As most modules can be run in multithreaded mode, Allpix Squared allows for fast simulations while maintaining a high level of accuracy. This enables Monte Carlo simulations with high statistical significance. The modular structure allows to set up complex simulation chains with multiple or many detectors, each with different algorithms attached to them as exemplified in the figure below (S. Spannagel et al.)

Example of an Allpix Squared simulation chain

For more details about the Allpix Squared project, please have a look at the website at https://cern.ch/allpix-squared.

Obtaining Allpix Squared

The source code of the framework is provided via GitLab at https://gitlab.cern.ch/allpix-squared/allpix-squared. The framework is also readily available in a few different ways listed below.

Machines with CVMFS

Machines with a supported OS and the CERN Virtual Machine File System (CVMFS) can load Allpix Squared and its dependencies from there by sourcing the respective environment:

$ source /cvmfs/clicdp.cern.ch/software/allpix-squared/<version>/x86_64-<system>-<compiler>-opt/setup.sh

where <version> should be replaced with the desired Allpix Squared version, e.g. 3.0.1 and <system> with the operating system of the executing machine (centos7, centos8 or mac11). The compiler versions available via the <compiler> tag depend on the selected operating system.

When running for the first time, the CVMFS cache of the executing machine has to be populated with all dependencies. This can lead to a significant start-up time for the first execution, but it does not affect simulation performance or subsequent executions with the cache already present.

Docker images

Docker images are provided for all releases and the latest development version of the framework. To create a container from the latest Docker image and start an interactive shell session with the current host system path mounted to /data, run:

$ docker run --interactive --tty --volume "$(pwd)":/data --name=allpix-squared \
             gitlab-registry.cern.ch/allpix-squared/allpix-squared bash

To run a specific tagged version, append the tag to the image name, e.g. gitlab-registry.cern.ch/allpix-squared/allpix-squared:v2.2.1. More detailed information on the Docker images can be found in the user manual.

Compilation from Source

Allpix Squared uses the CMake build system, version 3.6.3 or later, to configure and compile the framework. It requires a compiler with full C++17 support. More detailed instructions on prerequisites and how to compile the framework from source can be found in the user manual.

For machines with CVMFS, e.g. the CERN LXPLUS or DESY NAF clusters, all dependencies and required compiler versions can be satisfied via:

$ source etc/scripts/setup_lxplus.sh

Contributing to Allpix Squared

All types of contributions, be it minor or major, are welcome. Please refer to the contribution guidelines for a description on how to get started. Before adding changes it is highly recommended to carefully read through the documentation in the User Manual.

Contact

The framework has an active forum where users and developers interact: https://allpix-squared-forum.web.cern.ch/
There are also yearly user workshops held: https://indico.cern.ch/e/apsqws4

For bugs and issues, the GitLab interface is used: https://gitlab.cern.ch/allpix-squared/allpix-squared/-/issues

Citing Allpix Squared

Allpix Squared is distributed freely and openly under the MIT license, but the authors kindly ask to cite the reference paper and the Zenodo record in scientific publications:

  • The reference paper of Allpix Squared has been published in Nuclear Instruments and Methods in Physics Research A with open access and can be obtained from https://doi.org/10.1016/j.nima.2018.06.020.
    A preprint version is available on arxiv:1806.05813.
    Please cite this paper when publishing your work using Allpix Squared as:

    S. Spannagel et al., “Allpix²: A modular simulation framework for silicon detectors”, Nucl. Instr.
    Meth. A 901 (2018) 164 – 172, doi:10.1016/j.nima.2018.06.020, arXiv:1806.05813

  • The versioned Zenodo record can be found at https://doi.org/10.5281/zenodo.3550935. Please cite the version used for the published work. For example, version 2.2.0 should be cited as:

    S. Spannagel, K. Wolters & P. Schütze. (2022). Allpix Squared - Generic Pixel Detector Simulation Framework (2.2.0).
    Zenodo. https://doi.org/10.5281/zenodo.6387859

Further papers with algorithm validations as well as tutorials and seminar talks can be found on the website.

Licenses

This software is distributed under the terms of the MIT license. The documentation is distributed under the terms of the CC-BY-4.0 license.

Logo of Allpix Squared
Keywords
Programming languages
  • C++ 89%
  • CMake 5%
  • C 2%
  • Python 2%
  • Shell 1%
License
  • MIT
  • Open Access
</>Source code
Packages

Participating organisations

Deutsches Elektronen-Synchrotron DESY
European Organization for Nuclear Research

Mentions

Contributors

SS
Simon Spannagel
HW
Håkan Wennlöf
Maintainer
Deutsches Elektronen-Synchrotron DESY
MMA
Mohamed Moanis Ali
Free University of Bozen-Bolzano
MB
Mathieu Benoit
Université de Genève
TB
Thomas Billoud
Université de Montréal
TB
Tobias Bisanz
Georg-August-Universität Göttingen
BB
Bogdan-Mihail Blidaru
University of Heidelberg
SB
Sebbe Blokhuizen
Stockholm University, Sioux Technologies
MB
Marco Bomben
Université Paris Diderot
KvdB
Koen van den Brandt
Nikhef National Institute for Subatomic Physics
BB
Ben Bruers
DESY