Roadmap to GEMC 0.3
New features, improvements, and issue resolutions planned for the next release.
Included are the milestones for pygemc and clas12-systems.
See also the Project Roadmap.
GEMC Version 0.3
- Pygemc module
- Generators in GUI
- Photon detection
- Annotations in GUI
- Binary Tarballs
46 closed / 46 total — 100% complete
Due: June 30, 2026
Milestone items
-
Issue
#169: Checkout of untrusted code in a privileged context
closed
@maureeungaro
-
Issue
#139: [Low] convert_angle(out='gon') returns radians instead of gradians
closed
@zhaozhiwen
-
Issue
#137: [Low] Guard against null GetVisAttributes() in G4Ttree_item constructor
closed
@zhaozhiwen
-
Issue
#136: [Low] Add rule-of-five to GFrameDataCollection to prevent double-free if copied
closed
@zhaozhiwen
-
Issue
#135: [Low] Make G4World own its G4Volume wrappers to stop a leak per volume on geometry reload
closed
@zhaozhiwen
-
Issue
#134: [Medium] gemc-sqlite CLI builds queries via raw f-strings (breakage + SQL injection)
closed
@zhaozhiwen
-
Issue
#133: [Medium] parseFileAndRemoveComments throws std::out_of_range on a comment before the first newline
closed
@zhaozhiwen
-
Issue
#132: [Medium] Stop leaking heap ifstream on every ASCII system/material load
closed
@zhaozhiwen
-
Issue
#131: [Medium] Switches cannot be turned off from the CLI, breaking documented YAML-override precedence
closed
@zhaozhiwen
-
Issue
#130: [Medium] GPhysics dereferences possibly-null physics list before the null check
closed
@zhaozhiwen
-
Issue
#129: [Medium] CSV row newline only written inside the double-observables loop, dropped when a hit has no doubles
closed
@zhaozhiwen
-
Issue
#128: [Medium] CSV run-mode rows print uninitialized event_number and thread_id
closed
@zhaozhiwen
-
Issue
#127: [Medium] GHit::nsteps() returns Es.size(), which is empty unless HitBit 0 is set
closed
@zhaozhiwen
-
Issue
#126: [Medium] Worker run-data stashed every run but drained only when run streamers exist
closed
@zhaozhiwen
-
Issue
#125: [Medium] YAML file detection uses substring match and misses YAML::BadFile, causing misparse and crashes
closed
@zhaozhiwen
-
Issue
#124: [Medium] EventDispenser::variation is never initialized, always passing empty string to digitization
closed
@zhaozhiwen
-
Issue
#123: [Medium] Tarball is not self-contained: docs claim static Geant4 linking but gemc is dynamically linked
closed
@zhaozhiwen
-
Issue
#122: [Medium] GConfiguration ignores constructor args; argparse defaults clobber factory/variation/runno
closed
@zhaozhiwen
-
Issue
#121: [Medium] `gemc help` with no topic crashes with std::logic_error (null argv read)
closed
@zhaozhiwen
-
Issue
#120: [High] make_trap() passes an extra `self` to already-bound methods, raising TypeError
closed
@zhaozhiwen
-
Issue
#119: [High] make_polycone() length check uses `and` instead of `or`, missing single-array mismatches
closed
@zhaozhiwen
-
Issue
#118: [High] set_rotation() then add_rotation() raises AttributeError due to inconsistent rotations type
closed
@zhaozhiwen
-
Issue
#117: [High] add_rotation() emits a multi-token rotation string the C++ parser silently drops
closed
@zhaozhiwen
-
Issue
#116: [High] JSON streamer never closes the event "header" object, nesting siblings inside it
closed
@zhaozhiwen
-
Issue
#115: [High] JSON streamer emits invalid JSON for multi-detector digitized output
closed
@zhaozhiwen
-
Issue
#113: [High] ProcessHits mutates the persistent map GTouchable, leaking state across events
closed
@zhaozhiwen
-
Issue
#112: [High] Run optical-property size validation once after parsing, not on every rayleigh token
closed
@zhaozhiwen
-
Issue
#111: [High] Add missing opacity field in addVolumeFromFile so GVolume gets all 21 parameters
closed
@zhaozhiwen
-
Issue
#110: [High] Fix CAD loader mutating dirLocation in-place inside the per-file loop
closed
@zhaozhiwen
-
Issue
#109: [High] Sphere vertex sampling compares squared radius against un-squared bound
closed
@zhaozhiwen
-
Issue
#108: [High] Inverted dependency-stall check aborts geometry/material build when progress is made
closed
@zhaozhiwen
-
Issue
#107: [High] Multipole field parameters bypass unit parsing (stod/stoi ignore unit expressions)
closed
@zhaozhiwen
-
Issue
#106: [High] Multiple same-format gstreamer outputs collapse into a single streamer
closed
@zhaozhiwen
-
Issue
#105: [High] Run-level normalization applied once per streamer causes double-normalization
closed
@zhaozhiwen
-
Issue
#104: [High] Run header stores the Geant4 internal run ID instead of the GEMC run number
closed
@zhaozhiwen
-
Issue
#103: [High] EventDispenser: run weights are not normalized before stochastic sampling
closed
@zhaozhiwen
-
Issue
#97: geometry reload crash
closed
@maureeungaro
-
Issue
#96: fix detector not showing in the gui if running with just gemc -gui
closed
@maureeungaro
-
Issue
#95: add text and arrow options to g4display
closed
@maureeungaro
-
Issue
#94: add barrel scintillator array example
closed
@maureeungaro
-
Issue
#93: add pygemc repo for api and analyzer
closed
@maureeungaro
-
Issue
#89: Pyvista installed on the container
closed
@maureeungaro
-
Issue
#86: add options for background colors and num cloud points
closed
@maureeungaro
-
Issue
#84: add photon_detector
closed
@maureeungaro
-
Issue
#74: add generator in the GUI with tabs fore each particle.
closed
@maureeungaro
-
Issue
#62: fix reload geometry : run/beamOn does not work after a reload
closed
@maureeungaro
pygemc v0.3.0
- Add functionality to analyzer, like
plot_y_vs_x - Starting analyzer coverage tests
- Add g4placement_type ‘active and passive for the 2 G4PVPlacement constructors
1 closed / 1 total — 100% complete
Due: June 18, 2026
Milestone items
-
Issue
#1: fix Python API gconfiguration
closed
@maureeungaro
clas12-systems Version 0.1
- Implement HIPO output
- Implement DC geometry
- Add Geometry Comparison between clas12Tags sqlite file and gemc3 sqlite file
- Add HIPO comparison between clas12Tags/gemc3 - detector dependent
5 closed / 5 total — 100% complete
Due: June 30, 2026
Milestone items
-
Issue
#6: implement clas12-system first build system
closed
@maureeungaro
-
Issue
#5: Implement DC geometry
closed
@maureeungaro
-
Issue
#4: Hipo Comparison
closed
@maureeungaro
-
Issue
#3: Geometry Comparison
closed
@maureeungaro
-
Issue
#1: Add HIPO output
closed
@maureeungaro
Milestones Progress
GEMC Version 0.3
100%
pygemc v0.3.0
100%
clas12-systems Version 0.1
100%