Developer guide#
Get coding
- Architecture: Managers and Engines
- Geant4 bindings
- Philosophy behind objects implemented as GateObject
- How a class in GATE 10 is (usually) set up?
- How to implement an actor
- Dynamic parametrisations
- How to implement an auxiliary attribute
- Overview
- Mental model
- When to use an auxiliary attribute
- Basic architecture
- Where to look in the code
- Implementing the Python-side class
- Implementing the C++-side class
- Example: stateless getter-only attribute
- Storing per-track information
- Example: integer counter
- Example: string value
- Declaring hooks
- Volume-based auxiliary attributes
- Propagating state to secondaries
- Exposing the value to ROOT-based actors
- Accessing an auxiliary attribute from a non-ROOT actor
- Accessing an auxiliary attribute from a filter
- Typed runtime getters
- Lifecycle and ownership
- Checklist for a new auxiliary attribute
- See also