Software Management

Purpose

The Geant4 Software Management working group is responsible for Geant4’s development, testing, and support systems. It also develops and supports build and packaging tools for the toolkit across Linux, macOS, and Windows platforms, together with the core G4global library.

Members

Show responsibility

  • Ben Morgan(coordinator)

    • CMake setup and support

    • Support for Discourse Forum

  • Gunter Folger(deputy)

    • Support for web and development tools/infrastructure

    • Build/Deployment of binary releases

  • Gabriele Cosmo

    • Development and maintenance of global source code category

    • Release Management

    • Software quality control

  • Koichi Murakami

    • Support for Bugzilla problem reporting and JIRA user requirements systems
  • Igor Semeniouk

    • CMake/install support for Windows
  • Krzysztof Genser

    • User Requirements Coordinator

Responsible categories

Ongoing Activities

Geant4 Release and Reference Tags

  • User support for installation and usage (Ben Morgan, Gabriele Cosmo)
  • Release Management (Gabriele Cosmo)
  • Release preparation (runtime and compile time checks) (Gabriele Cosmo, Gunter Folger)
  • Build of binary releases (Gunter Folger, Ben Morgan)
  • Contribute to and support packaging of Geant4 in downstream package managers (spack, conda, homebrew, Debian, gentoo) (Ben Morgan)

Geant4 User Requirements and Support

  • Capture, assignment and tracking of new and existing requirements (Krzysztof Genser, in collaboration with all working groups)
  • Support for collaboration JIRA requirements tracker (Koichi Murakami)
  • Support for public Bugzilla problem tracking tool (Koichi Murakami)
  • Support for Discourse forum (Ben Morgan)
  • Support for public LXR and Doxygen source code documentation (Koichi Murakami)

Support for Geant4 Tools, Services and Servers

  • Support for collaboration GitLab, GitHub repositories and tools (Ben Morgan, Gabriele Cosmo)
  • Support for Jenkins and CDash testing system (Ben Morgan, Gunter Folger)
  • Support for Coverity static analysis tool (Gabriele Cosmo)
  • Support for physics/collaboration data and management websites (Ben Morgan, Gunter Folger, in collaboration with Documentation Working Group)
  • Support and maintenance for collaboration management databases (Gunter Folger, Ben Morgan)
  • Support and maintenance for Geant4Config.cmake, geant4-config build helpers (Ben Morgan, Gabriele Cosmo)

2025 Development Topics

  1. Modularization of Geant4 Libraries (Ben Morgan, Gabriele Cosmo) (Ongoing)
    • Identify libraries/modules for merging or splitting, including optional modules that a user may choose to drop/add to the build
    • Profile modularization scheme to ensure performance is not affected
  2. Configuration/Build tools for User Applications (Ben Morgan) (Ongoing, dependent on (1))
    • Provide pkg-config scripts for use by non-CMake build tools
  3. Investigate use of GitLab/Hub CI as a possible replacement for Jenkins (Ben Morgan, Gabriele Cosmo, Gunter Folger) (Ongoing)
  4. Review numerical methods and corresponding functions/classes used across toolkit for commonality and optimization (Ben Morgan, Gabriele Cosmo, in collaboration with all other Working Groups)(Ongoing).
  5. Update collaboration tools to use new CERN Authentication methods (Gunter Folger, Ben Morgan).