Each step that spawns secondaries now writes one row per secondary to a
new Spawning ntuple (event_id, parent_track_id, parent_step_no,
child_track_id). This enables direct shower-tree reconstruction without
position joins. Requires the companion Geant4 submodule change that
pre-assigns track IDs in ProcessSecondariesFromParticleChange.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>