For more details about the project please have a look at the website at https://cern.ch/allpix-squared.
- ROOT (required, with the GenVector component)
- Geant4 (optional, but required for typical purposes)
- Eigen3 (optional, but required for typical purposes)
Ready-to-run installations of Allpix2 are provided via the CERN Virtual Machine File System (CVMFS) for use on SLC6 and CentOS7 machines supported by CERN. In order to use Allpix2, the respective environment has to be set up by sourcing the appropriate file:
$ source /cvmfs/clicdp.cern.ch/software/allpix-squared/<version>/x86_64-<system>-<compiler>-opt/setup.sh
where <version>
should be replaced with the desired Allpix2 version and <system>
with the operating system of the executing machine (either slc6
or centos7
). The compiler versions available via the <compiler>
tag depend on the selected operating system.
After this, the allpix
executable is in the $PATH
environment variable and can be used.
It should be noted that the CVMFS cache of the executing machine has to be populated with all dependencies when running the program for the first time.
This can lead to a significant start-up time for the first execution, but should not affect further executions with the cache already present.
More information can be found in the CVMFS documentation.
The CMake build system is used for compilation and installation. The install directory can be specified by adding -DCMAKE_INSTALL_PREFIX=<prefix>
as argument to the CMake command below. Other configuration options are explained in the manual (see the documentation section below).
The dependencies need to be initialized for the build to succeed. Currently there are two methods to load these:
In order to install Allpix2 on the CERN LXPLUS batch cluster, a LXPLUS setup script is provided:
$ source etc/scripts/setup_lxplus.sh
Then, continue as described under the compilation section.
The dependencies listen above have to be satisfied. Both ROOT6 and Geant4 libraries and headers have to be in the path, this is usually achieved by sourcing the thisroot.sh
or geant4.sh
scripts. After this, continue as described below.
To compile and install a default installation of Allpix2, run the following commands
$ mkdir build && cd build/
$ cmake ..
$ make install
For more detailed installation instructions, please refer to the documentation below.
The most recently published version of the User Manual is available online here. The Doxygen reference is published online too.
The latest PDF version of the User Manual can also be created from source by executing
$ make pdf
After running the manual is available under usermanual/allpix-manual.pdf
in the build directory.
To build the HTML version of the latest Doxygen reference, run the following command
$ make reference
The main page of the reference can then be found at reference/html/index.html
in the build folder.
Allpix2 has been developed and is maintained by
- Koen Wolters, CERN, @kwolters
- Daniel Hynds, CERN, @dhynds
- Simon Spannagel, CERN, @simonspa
The following authors, in alphabetical order, have contributed to Allpix2:
- Mohamed Moanis Ali, Free University of Bozen-Bolzano, @mmoanis
- Mathieu Benoit, Université de Genève, @mbenoit
- Thomas Billoud, Université de Montréal, @tbilloud
- Tobias Bisanz, Georg-August-Universität Göttingen, @tbisanz
- Koen van den Brandt, Nikhef National Institute for Subatomic Physics, @kvandenb
- Liejian Chen, Institute of High Energy Physics Beijing, @chenlj
- Katharina Dort, CERN Summer Student, @kdort
- Neal Gauvin, Université de Genève, @ngauvin
- Maoqiang Jing, University of South China, Institute of High Energy Physics Beijing, @mjing
- Moritz Kiehn, Université de Genève, @msmk
- Salman Maqbool, CERN Summer Student, @smaqbool
- Sebastien Murphy, ETHZ, @smurphy
- Andreas Matthias Nürnberg, CERN, @nurnberg
- Marko Petric, CERN, @mpetric
- Nashad Rahman, The Ohio State University, @nashadroid
- Edoardo Rossi, DESY, @edrossi
- Andre Sailer, CERN, @sailer
- Paul Schütze, DESY, @pschutze
- Xin Shi, Institute of High Energy Physics Beijing, @xshi
- Ondrej Theiner, Charles University, @otheiner
- Mateus Vicente Barreto Pinto, Université de Genève, @mvicente
- Morag Williams, University of Glasgow, @williamm
The authors would also like to express their thanks to the developers of AllPix.
The reference paper of Allpix Squared describing the framework and providing first validation results using test beam data has been published in Nuclear Instrumentations and Methods in Physics Research A. The paper is published with open access and can be obtained from here:
https://doi.org/10.1016/j.nima.2018.06.020
Please cite this paper when publishing your work using Allpix Squared as:
S. Spannagel et al., “Allpix2: 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
A preprint version is available on arxiv.org.
In addition, the software can be cited using the versioned Zenodo record or the current version as:
S. Spannagel, K. Wolters, D. Hynds. (2019, July 9). Allpix Squared - Generic Pixel Detector Simulation Framework (Version 1.4.0). Zenodo. http://doi.org/10.5281/zenodo.3550971
All types of contributions, being it minor and major, are very welcome. Please refer to our contribution guidelines for a description on how to get started.
Before adding changes it is very much recommended to carefully read through the documentation in the User Manual first.
This software is distributed under the terms of the MIT license. A copy of this license can be found in LICENSE.md.
The documentation is distributed under the terms of the CC-BY-4.0 license. This license can be found in doc/COPYING.md.
The LaTeX and Pandoc CMake modules used by Allpix2 are licensed under the BSD 3-Clause License.
The octree library of the TCAD DF-ISE converter is made available under the MIT license, more information here.
The cereal C++11 serialization library used by Allpix2 is published under the BSD 3-Clause License, the original source code can be found here.
The combination algorithms by Howard Hinnant are published under the Boost Software License Version 1.0, the code can be found here and the documentation of the class is published here.