- CUDA Toolkit 13 Update 2 (Tested)
- NVIDIA GPU with OptiX support (9) (Tested)
- Geant4 (with GDML support enabled)
- Opticks
- ROOT (for hit testing)
This repository provides a containerized environment based on AlmaLinux 9, pre-configured with Spack for the RiceOpticks project. It is highly recommended to use this image to easily meet all prerequisites.
Key Features:
- CVMFS Integrated: Relies on the CernVM File System (CVMFS) for software distribution.
- DUNE Spack: Loads Spack directly from the DUNE repository.
- Pre-activated Environment: Automatically sets up and activates the
dune-prototypeSpack environment.
Set up a local cache directory and pull the image using Apptainer. Then, start an interactive shell with NVIDIA GPU support (--nv) and the required CVMFS mount (--bind /cvmfs):
mkdir -p cache/.apptainer/tmp
apptainer pull riceopticks.sif oras://ghcr.io/nuricelab/laropticks:spack-latest
apptainer shell --nv --bind /cvmfs riceopticks.sifOnce inside the container, source the setup script to load the DUNE Spack environment and initialize the required variables:
Apptainer> source /opt/setup.shRun the command OpticksExample at any time to print a reminder of execution steps.
OpticksExampleThe module has to be cloned under the srcs folder alongside other LArSoft packages such as larsim. It will be automatically detected and compiled during mrb i.
git clone [https://github.com/nuRiceLab/laropticks](https://github.com/nuRiceLab/laropticks)Compile it with your other LArSoft packages as follows:
mrb i -j20 Once compiled, source the necessary environment variables for Opticks:
source laropticks/OpticksEnv Within your working directory, test the tool by generating a single GENIE event:
lar -n 1 -c prodgenie_nu_dune10kt_1x2x6.fcl -o Genie.rootThen, load the Genie.root file to simulate optical photons with Opticks:
lar -n 1 -c standard_opticks_dunefd_1x2x6.fcl -s Genie.root -o opticks.root