Geant4 User's Guide for Toolkit Developers

Geant4 Collaboration

Version: geant4 10.2

4 December 2015


Table of Contents

1. Introduction
1.1. Scope of this manual
1.2. How to use this manual
1.3. User Requirements Document
2. Design and Function of Geant4 Categories
2.1. Introduction
2.2. Run
2.2.1. Design Philosophy
2.2.2. Class Design
2.3. Event
2.3.1. Design Philosophy
2.3.2. Class Design
2.4. Tracking
2.4.1. Design Philosophy
2.4.2. Class Design
2.4.3. Tracking Algorithm
2.4.4. Interaction with Physics Processes
2.4.5. Ordering of Methods of Physics Processes
2.5. Physics Processes
2.5.1. Design Philosophy
2.5.2. Class Design
2.5.3. Electromagnetic
2.5.4. Hadronic
2.6. Hits and Digitization
2.6.1. Design Philosophy
2.6.2. Class Design
2.7. Geometry
2.7.1. Design Philosopy
2.7.2. Class Design
2.7.3. Additional Geometry Diagrams
2.8. Electromagnetic Fields
2.8.1. Class Design
2.9. Particles
2.9.1. Design Philosophy
2.9.2. Class Design
2.10. Materials
2.10.1. Design Philosophy
2.10.2. Class Design
2.11. Global Usage
2.11.1. Design Philosophy
2.11.2. Class Design
2.12. Visualisation
2.12.1. Design Philosophy
2.12.2. The Graphics Interfaces
2.12.3. The Geant4 Visualisation System
2.12.4. Modeling sub-category
2.12.5. View parameters
2.12.6. Visualisation Attributes
2.13. Intercoms
2.13.1. Design Philosophy
2.13.2. Class Design
2.14. Parallelism in Geant4: multi-threading capabilities
2.14.1. Event level parallelism
2.14.2. General Design
2.14.3. Memory handling in Geant4 Version 10.0
2.14.4. Threading model utilities and functions
2.14.5. Additional material
3. Extending Toolkit Functionality
3.1. Geometry
3.1.1. What can be extended ?
3.1.2. Adding a new type of Solid
3.1.3. Modifying the Navigator
3.2. Electromagnetic Fields
3.2.1. Creating a New Type of Field
3.3. Particles
3.3.1. Properties of particles
3.3.2. Adding New Particles
3.3.3. Nuclide properties from the Evaluated Nuclear Structure Data File
3.4. Electromagnetic Physics
3.4.1. Introduction
3.4.2. General design
3.4.3. Electromagnetic processes
3.4.4. Electromagnetic models
3.5. Hadronic Physics
3.5.1. Introduction
3.5.2. Principal Considerations
3.5.3. Level 1 Framework - processes
3.5.4. Level 2 Framework - Cross Sections and Models
3.5.5. Level 3 Framework - Theoretical Models
3.5.6. Level 4 Frameworks - String Parton Models and Intra-Nuclear Cascade
3.5.7. Level 5 Framework - String De-excitation}
3.5.8. Creating Your Own Hadronic Process
3.6. Generic Event Biasing
3.6.1. Introduction
3.6.2. Design of Generic Biasing
3.6.3. Physics Process Occurence Biasing
3.7. Visualisation
3.7.1. Creating a new graphics driver
3.7.2. Enhanced Trajectory Drawing
3.7.3. Trajectory Filtering
3.7.4. Other Resources
Bibliography