extend Steps ntuple and switch Docker to Geant4 submodule source

Add 15 new columns to the Steps ntuple: edep, step_length, parent_id,
process name, layer_id, material, pre-step momentum direction, and
B/E field components (in T and V/m) at the pre-step point.

Replace wget Geant4 tarball download in all three Dockerfiles with
ADD of the lib/geant4 submodule source; narrow submodule init to
lib/pybind11 only so builds no longer require network access for Geant4.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-08 16:07:17 +02:00
co-authored by Claude Sonnet 4.6
parent f9a7f2d1f1
commit 4ffb2f78b8
5 changed files with 124 additions and 45 deletions
+10 -12
View File
@@ -16,23 +16,21 @@ RUN python3 -m pip install --upgrade pip && \
python3 -m pip install numpy pandas uproot awkward plotly ipython && \
ln -sf /usr/bin/python3 /usr/bin/python
# Geant4 v11.1.2 — batch mode only (no visualization, no multithreading)
RUN wget -q https://gitlab.cern.ch/geant4/geant4/-/archive/v11.1.2/geant4-v11.1.2.tar.gz && \
tar -xzf geant4-v11.1.2.tar.gz -C /tmp && \
rm geant4-v11.1.2.tar.gz && \
mkdir /tmp/geant4-v11.1.2-build && \
cmake \
-S /tmp/geant4-v11.1.2 \
-B /tmp/geant4-v11.1.2-build \
# Geant4 — build from submodule source (batch mode only, no visualization, no multithreading)
ADD minicalosim/lib/geant4 /tmp/geant4-src
RUN cmake \
-S /tmp/geant4-src \
-B /tmp/geant4-build \
-DCMAKE_INSTALL_PREFIX=/opt/geant4-v11.1.2 \
-DCMAKE_RULE_MESSAGES=OFF \
-DGEANT4_INSTALL_DATA=ON \
-DGEANT4_BUILD_MULTITHREADED=OFF \
-DGEANT4_BUILD_TLS_MODEL=global-dynamic \
> /dev/null && \
cmake --build /tmp/geant4-v11.1.2-build --parallel $(nproc) > /dev/null && \
cmake --install /tmp/geant4-v11.1.2-build > /dev/null && \
rm -rf /tmp/geant4-v11.1.2 /tmp/geant4-v11.1.2-build
cmake --build /tmp/geant4-build --parallel $(nproc) > /dev/null && \
cmake --install /tmp/geant4-build > /dev/null && \
rm -rf /tmp/geant4-src /tmp/geant4-build
ENV LD_LIBRARY_PATH="/opt/geant4-v11.1.2/lib"
@@ -45,7 +43,7 @@ LABEL org.label-schema.build-date=$BUILD_DATE
ADD minicalosim /root/minicalosim
RUN cd /root/minicalosim && git checkout $COMMIT && \
git submodule update --init && \
git submodule update --init lib/pybind11 && \
cmake \
-S . -B build \
-DWITH_GEANT4_UIVIS=OFF \