R3BRootGroup
R3BRoot
C++

Framework for Simulations and Data Analysis of R3B Experiments at GSI/FAIR

Last updated Jun 13, 2026
21
Stars
121
Forks
9
Issues
0
Stars/day
Attention Score
85
Language breakdown
C++ 69.2%
C 28.1%
CMake 2.2%
Shell 0.2%
Python 0.2%
Perl 0.1%
Files click to expand
README

R3BRoot Software license

DOI OpenSSF Best Practices fair-software.eu CI-CD Static Analysis Validate Codemeta CI-CD-nightly CI-CD-nightly-sim dashboard

The R3BRoot Framework

The R3BRoot software is based on the FairRoot framework and can be used to perform Monte Carlo simulations and experimental data analysis of the R3B (Reactions with Relativistic Radioactive Beams) nuclear physics experiments at the GSI-FAIR research center (Facility for Antiproton and Ion Research). The user can create simulated data and/or perform analysis with the same framework. Geant3 and Geant4 transport engines are supported, however, the implemented tasks that create simulated data do not depend on a particular Monte Carlo engine. The framework delivers base classes which enable the users to construct their detectors and/or analysis tasks in a simple way, it also delivers some general functionality like track visualization. Moreover, an interface for reading experimental and/or simulated magnetic field maps is also implemented. R3BRoot software is a source distribution with recurring releases for macOS and Linux.

Discussion Forum

For the software-related user support you can post a new topic on our forum.

License

R3BRoot is distributed under the terms of the GNU General Public Licence version 3 (GPLv3).

Code of Conduct

We are committed to fostering a welcoming and inclusive environment in the R3BRoot project. Please take a moment to review our Code of Conduct, which outlines our expectations for all contributors and community members.

Release Information

Please visit releases

Download

~~~bash git clone https://github.com/R3BRootGroup/R3BRoot.git ~~~

Using the Project Template

R3BRoot delivers various project templates that can be used as a starting point for anybody who would like to build simulation and reconstruction algorithms. The project Templates are located in the R3BRoot/template directory.

Step by Step Installation

Required Software

First, you will need to install FairSoft and FairRoot. For more details:

  • Install FairSoft, required version jan24p1 or later
  • Install FairRoot, required version 18.8.1 or later

Configure and Compile

~~~bash export SIMPATH=%PATHTOFAIRSOFT% export FAIRROOTPATH=%PATHTOFAIRROOT%

from %R3BRoot_DIRECTORY%

. ./build_thisr3broot.sh

or a second option is the following

mkdir ../build cmake -S . -B ../build cmake --build ../build -j${numberofthreads} source ../build/config.sh ~~~

For the building with Conan package manager, see this instruction.

To run the detector tests do:

~~~bash # In the same shell from %R3BRoot_DIRECTORY%: cd build ctest --parallel ${numberofthreads} ~~~

Simulations and Data Analysis

This is performed from the GitHub parameter and data analysis repository, which contains all the macros and parameter files needed by the user to carry out the simulations and data analysis of each experiment. There is one repository per experiment, please, visit the R3B-Wiki for more details.

Contributing

Please ask your questions, request features, and report issues by creating a github issue.

Code Formatting

The R3BRoot project uses clang-format-16 to ensure a common code formatting. The script "clang-format-all.sh" can be used for this purpose: ~~~bash . util/clang-format-all.sh ~~~

Spell Checking

To avoid common typos in the codebase and documentation, we use codespell.

Check for spelling mistakes using the ignore list defined in .codespell-ignorewords:

~~~bash codespell -I .codespell-ignorewords ~~~

If you want to automatically fix the detected typos:

~~~bash codespell -w -I .codespell-ignorewords ~~~

Tested systems

The following systems are tested regularly.

| OS Name | Arch | OS Version | Compiler | CMake | C++ Version | | ----------- | -------- | -------------- | ------------- | --------------- | --------------- | | Almalinux | x86\_64 | 9.3 | GCC 11.4.1 | 3.27.9 / 4.0.3 | C++17 / C++20 / C++23 | | Almalinux | x86\_64 | 9.4 | GCC 14.2.0 | 3.30.6 | C++17 | | Almalinux | x86\_64 | 9.7 | GCC 11.4.1 | 4.2.0 | C++17 / C++20 / C++23 | | Almalinux | x86\_64 | 10.1 | GCC 14.2.0 | 4.0.3 | C++17 / C++20 / C++23 | | Almalinux | x86\_64 | 10.2 | GCC 14.3.1 | 4.0.3 | C++17 / C++20 / C++23 | | RHEL | x86\_64 | 9.6 | GCC 14.2.0 | 3.30.6 | C++17 | | Debian | x86\_64 | 11 | GCC 10.2.1 | 3.27.4 / 3.30.0 | C++17 | | Debian | x86\_64 | 12 | GCC 12.2.0 | 3.27.4 / 4.0.3 | C++17 / C++20 | | Debian | x86\_64 | 13 | GCC 14.2.0 | 3.31.6 / 4.0.3 | C++17 / C++20 / C++23 | | Debian | x86\_64 | 14 | GCC 15.2.0 | 3.31.6 / 4.0.3 | C++17 / C++20 / C++23 | | Ubuntu | x86\_64 | 24.04 | GCC 13.3.0 | 3.28.3 / 4.0.3 | C++17 / C++20 / C++23 | | Ubuntu | x86\_64 | 25.04 | GCC 14.2.0 | 3.31.6 | C++17 / C++20 | | Ubuntu | x86\_64 | 26.04 | GCC 15.2.0 | 3.31.6 / 4.0.3 | C++17 / C++20 / C++23 | | MacOS | arm64 | 15.3 | AppleClang 15 | 4.0.3 | C++17 |

Security Policy

The R3BRoot project is focused on scientific computing and does not involve typical security concerns like handling sensitive data. However, we are committed to maintaining the integrity and quality of our codebase.

If you discover any potential issues with this project, please refer to our Security Policy for instructions on how to report them.

Thank you for helping us keep R3BRoot secure and reliable!

More Information

🔗 More in this category

© 2026 GitRepoTrend · R3BRootGroup/R3BRoot · Updated daily from GitHub