Key4hep

Getting started

  • Introduction
  • Getting help
  • Getting key4hep
  • Contributing

Contents

  • Key4hep How-Tos and Instructions
  • Key4hep Tutorials
  • Developing Key4hep
    • Github workflow and contribution guide
    • Developing a single package
    • Building Key4hep using Spack: For Developers
    • Writing Gaudi Algorithms
    • Gaudi::Functional
    • Seeding algorithm PRNG
  • Building Key4hep: For Librarians
  • Talks and Presentations
  • Call for logos

External links

  • FCC software
  • CLIC software
  • ILC software
  • CEPC software
  • Muon Collider software
Key4hep
  • Developing Key4hep
  • View page source

Developing Key4hep

Sooner rather than later you will find it necessary write code for Key4hep. These pages cover some software development topics to remove any friction.

Contents:

  • Github workflow and contribution guide
    • Overview
    • First time setup of git
    • Generate and set up ssh keys for github
    • Improving your git experience
    • Development workflow
      • Keeping your local repository up to date
      • Contributing code
    • Recommendations
      • General recommendations
      • Commit comments
      • Cleaning history
      • Pull requests
    • Trouble-shooting
      • When I try to push to the repository, I get an authentication error
      • I have cloned with https and now I can’t push my changes, what do I do?
    • Need help?
  • Developing a single package
    • Building a local version
    • Adapt the environment with k4_local_repo
    • Adapt the environment manually
  • Building Key4hep using Spack: For Developers
    • Spack set up
    • Developing a single package
      • Installing a local version with dev-build
      • Using the local version as dependency
      • More advanced usage
    • Developing multiple packages or dependencies of other packages
      • Using an environment to setup all dependencies
      • Environments and a development workflow
        • Adding another package to develop
  • Writing Gaudi Algorithms
    • Gaudi
  • Gaudi::Functional
    • Setup
    • Walkthrough of Functional Algorithms
    • The steering file
    • Initialize and finalize
    • Debugging: How to use GDB
    • Avoiding const in operator()
  • Seeding algorithm PRNG
    • UniqueIDGenSvc service
    • Using UniqueIDGenSvc in algorithms
    • Seeding functional algorithm example

CMakeBuild.md

Previous Next

© Copyright 2025, Key4hep.

Built with Sphinx using a theme provided by Read the Docs.