Commit Graph

145 Commits

Author SHA1 Message Date
lars 4ffb2f78b8 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>
2026-06-08 16:07:17 +02:00
lars f9a7f2d1f1 add Geant4 source as shallow submodule (lib/geant4)
Tracks HEAD of https://github.com/Geant4/geant4.git at depth 1 for
reference browsing. shallow=true ensures others also get a shallow clone.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 15:55:25 +02:00
lars df3faa841c assemble steps inside try block to ensure temp file cleanup
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 14:18:40 +02:00
lars 5f01ab6d35 save hits and steps to separate pickles in run_pbwo4.py
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 14:18:05 +02:00
lars 7a62a46fe6 add run_pbwo4.py and include examples dir in both Docker images
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>
2026-06-08 13:59:01 +02:00
lars 03b615cd3a fix LD_LIBRARY_PATH warning in Dockerfile-mini
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 12:57:38 +02:00
lars aaf0b33413 add minimal Docker image (no CUDA, no Jupyter, batch-only Geant4)
Dockerfile-mini builds a lightweight image with only what's needed to
run the bind/ examples: Geant4 v11.1.2 (batch mode, no visualization),
Python 3.10, and numpy/pandas/uproot/awkward/plotly/ipython.
Examples are copied to /examples which is also the working directory.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 12:38:52 +02:00
lars 0c3f68d0cf change container entrypoint from start-notebook.sh to bash
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 12:30:47 +02:00
lars 4bc94278d8 fix Docker build: initialise pybind11 submodule before cmake
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 11:47:51 +02:00
lars 19b1ef125b add per-step kinematics ntuple ("Steps") to ROOT output
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>
2026-06-08 11:37:39 +02:00
lars 91020714e7 add CLAUDE.md with build, test, and architecture documentation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 11:20:31 +02:00
Jan Kieseler 90baa21ce5 better commit hash handling 2025-10-16 17:25:09 +02:00
Jan Kieseler 8b8a526c54 added fastparquet 2025-10-16 15:32:52 +02:00
Jan Kieseler cc41ed3c65 legacy structure (I hope) 2025-10-16 15:11:50 +02:00
Jan Kieseler 589b50522b removed unnecessary includes 2025-10-10 14:44:46 +02:00
Jan Kieseler 47919f46aa docu 2025-10-10 13:18:59 +02:00
Jan Kieseler e53e2b0af4 fixing local absolute path for debugging 2025-10-10 13:00:05 +02:00
Jan Kieseler 13a913c068 changed to slim pandas wrapper 2025-10-10 10:38:33 +02:00
Jan Kieseler d1155dc1e2 added slim pandas wrapper 2025-10-10 10:38:22 +02:00
Jan Kieseler fd13b336e1 updated finally to ubuntu 22.04 and py3.10 2025-01-15 16:20:13 +01:00
Jan Kieseler 64e48ce7b3 changing ubuntu version 2025-01-15 16:06:34 +01:00
Jan Kieseler 0492cf0875 added better cleanup 2024-12-13 12:33:43 +01:00
Jan Kieseler e195f8fe1a small fix 2024-12-13 11:53:11 +01:00
Jan Kieseler 62bf0837b5 changed underlying geant encapsulation completely 2024-12-13 11:13:54 +01:00
Jan Kieseler ef48d3da76 faster geant compile 2024-12-12 08:28:53 +01:00
Jan Kieseler 7e47bd5aa7 remove threaded option in geant compile args 2024-12-12 08:26:53 +01:00
Jan Kieseler 7829fde6f2 manual seed option 2024-11-07 14:14:45 +01:00
Jan Kieseler 7410049a72 added multi particles 2024-10-09 13:05:18 +02:00
Jan Kieseler b7946e2e37 assert not needed anymore with clearly defined seeds 2024-10-07 15:21:20 +02:00
Jan Kieseler 6fede8c1f8 print 2024-09-17 16:20:09 +02:00
Jan Kieseler 46efd8dea0 cpu file, needs testing 2024-09-17 16:19:49 +02:00
Jan Kieseler a40d66bb22 for dependencies 2024-09-15 22:17:50 +02:00
Jan Kieseler 854402320c fix for nomp. only use if you are anyway in a child process 2024-09-13 10:06:28 +02:00
Jan Kieseler e3c048f2ed changed events per core 2024-09-12 15:45:21 +02:00
Jan Kieseler 50ebbc2ae7 adde threading locks in case it's needed downstream 2024-09-12 15:35:44 +02:00
Jan Kieseler 1361621655 more options 2024-09-10 09:09:10 +02:00
Jan Kieseler 85b344d134 tools and fixes 2024-09-10 09:06:13 +02:00
Jan Kieseler 1289cd6f0c fixed file save 2024-09-09 15:48:44 +02:00
Jan Kieseler 7e520d88b9 fixes 2024-09-09 14:56:30 +02:00
Jan Kieseler 3650114b21 better seeding 2024-08-27 09:36:30 +02:00
Jan Kieseler fc5c61a55b fix for seed 2024-08-26 14:28:27 +02:00
Jan Kieseler a2fe3bbf5f pretified 2024-08-23 11:35:01 +02:00
Jan Kieseler 9038c9521a better plotting 2024-08-23 11:22:50 +02:00
Jan Kieseler 905d5408ed fixed df indexing 2024-08-22 16:33:16 +02:00
Jan Kieseler ca126d0b8f added seed also to fill_event 2024-08-22 16:10:38 +02:00
Jan Kieseler a8ae88b8cd added check script 2024-08-22 16:06:35 +02:00
Jan Kieseler 483f584e1c cuda check and better comment 2024-08-22 16:05:56 +02:00
Jan Kieseler c6c7b496c6 cuda check script 2024-08-22 16:04:26 +02:00
Jan Kieseler 6ec385d73f removed printout 2024-08-22 15:57:03 +02:00
Jan Kieseler 88b03ecfa3 added randomised x-y position within 15 cm window 2024-08-22 15:56:31 +02:00