7–11 Jul 2025
CENPA
US/Pacific timezone

Onboarding Information

To obtain a copy of the PIONEER simulation software, you want to make sure you have added your SSH key to your github account such that you can clone the repo with the following command:

git clone --recurse-submodules git@github.com:PIONEER-Experiment/main.git PIONEER
cd PIONEER
git checkout develop
git submodule update

This will get you the latest version of the code and update all submodules. To compile and run the software, we recommend to use the docker container. Some basic codes are prepared through the setup.sh script in the repo:

# Create install/setenv.sh which is specific to your system
./setup.sh -e

# load configurations and functions.
source install/setenv.sh

# Get container
pioneer-get-docker

The last command is a wrapper that determines if your system uses the arm64 or x86_64 architecture and clones the appropriate container.

Note that the environment file (install/setenv.sh) needs to be sourced each time you start the terminal. You may want to consider adding the appropriate line directly to ~/.bashrc (or the equivalent of your specific shell).

The container is designed to bind two directories (/simulation/workdir), your global git configuration and port 8888/simulation shall contain the PIONEER source code (repository), for which the location is defined through the environment file install/setenv.sh. The /workdir is the working directory and can be any directory of your choosing. The port 8888 is used for jupyter notebook. You can start the docker container using these commands:

cd
mkdir pioneer_test
cd pioneer_test
pidock

The last command pidock is defined in install/setenv.sh and will bind the current working directory to /workdir. Once inside the docker, you can build the entire simulation code:

🐳 [✔] PIONEER_V2.0.3@3f2a21a workdir # /simulation/setup.sh -a

You can run the simulation afterwards using the following commands:

🐳 [✔] PIONEER_V2.0.3@3f2a21a workdir # pioneer-prod
🐳 [✔] PIONEER_V2.0.3@3f2a21a workdir # geometry-build default_LYSO.json
🐳 [✔] PIONEER_V2.0.3@3f2a21a workdir # G4Pioneer test.mac
🐳 [✔] PIONEER_V2.0.3@3f2a21a workdir # Gaudi test_dir.opts
🐳 [✔] PIONEER_V2.0.3@3f2a21a workdir # Gaudi test_rec.opts