Scales the default transverse width (xywidth 50->200 cm) and every
layer thickness across the example/production geometries (run_pbwo4,
example.py/ipynb, run_sampling configs, export_xsec) by the same
factor, so the calo grows uniformly in x, y, and z.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
G4Calo.py prints the commit at import time, resolved via a
minicalo_version.py file (baked in by Docker) or git rev-parse
from the file's directory as fallback.
event_id in the Steps ntuple restarts from 0 in each subprocess;
_assemble_results_to_mini_df now accepts per-file event_id_offsets
so IDs are globally unique after merging. run_batch passes cumulative
nevents as offsets when loading the Steps tree.
Dockerfiles write minicalo_version.py before copying Python files.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
run_pbwo4.py simulates 10 events in a single 20cm G4_PbWO4 layer
(10x10 sensor grid, 1 GeV e-) and saves results as a pickle next to
the script. Both images now expose /examples containing all bind/ files.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a second ntuple alongside the existing "Hits" ntuple with one row
per Geant4 step. Records event_id, track_id, step_no, PDG code, and
pre/post position + kinetic energy for every step in the simulation.
Also extends run_batch() with return_steps=False; when True, returns
(hits_mf, steps_mf) instead of just hits_mf.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>