- Introduction to Geant4 ›
- Installing Geant4 ›
- C++ Basics for Geant4 ›
- Creating Your First Geant4 Project ›
- Geant4 Units and Constants ›
- Creating the Simulation World ›
- Materials ›
- Building Detector Geometry ›
- Geometry Visualization ›
- Primary Particle Generation ›
- General Particle Source ›
- Physics Lists ›
- Particle Tracking ›
- User Actions ›
- Sensitive Detectors ›
- Recording Energy Deposition ›
- Particle Position and Timing ›
- Geant4 Analysis System ›
- Geant4 and ROOT ›
- Geant4 Macro Commands ›
- Random Numbers and Reproducibility ›
- Multithreading ›
- Practical Example: Gamma-Ray Detector ›
- Practical Example: Radiation Shielding ›
- Practical Example: PET Scanner ›
- Practical Example: Proton Beam in Water ›
- Detector Resolution and Smearing ›
- Simulation Validation ›
- Improving Simulation Performance ›
- Debugging Geant4 Simulations ›
- Writing Better Geant4 Applications ›
- Advanced Geometry ›
- Optical Photons ›
- Medical Physics Applications ›
- Final Project ›
- Appendices ›
Writing Better Geant4 Applications
Views: 12
Where to Move
Move chapter:
- β° Introduction to Geant4
- β° What Is Geant4?
- β° How Geant4 Works
- β° Geant4 Simulation Structure
- β° Geant4 and C++
-
- β° Installing Geant4
- β° Geant4 Requirements
- β° Installing Geant4 on Linux
- β° Installing Visualization Libraries
- β° Verifying the Installation
- β° Geant4 Example Applications
-
- β° C++ Basics for Geant4
- β° Classes and Objects
- β° Inheritance
- β° Pointers and References
- β° Header and Source Files
- β° Standard Library Containers
-
- β° Creating Your First Geant4 Project
- β° Project Structure
- β° CMake Configuration
- β° The Main Program
- β° User Initialization Classes
- β° Building and Running
-
- β° Geant4 Units and Constants
- β° Geant4 Unit System
- β° Using Units in C++
- β° Physical Constants
- β° Printing Values with Units
-
- β° Creating the Simulation World
- β° DetectorConstruction
- β° Solids
- β° Logical Volumes
- β° Physical Volumes
- β° Creating the World Volume
-
- β° Materials
- β° Geant4 Materials
- β° NIST Material Database
- β° Common Materials
- β° Creating Custom Materials
- β° Detector Materials
-
- β° Building Detector Geometry
- β° Basic Geometrical Shapes
- β° Boolean Solids
- β° Positioning Volumes
- β° Repeated Geometry
- β° Detector Arrays
- β° Geometry Overlap Checking
-
- β° Geometry Visualization
- β° Visualization in Geant4
- β° Starting the Visualization System
- β° Changing the View
- β° Visualization Attributes
- β° Displaying Particle Tracks
-
- β° Primary Particle Generation
- β° PrimaryGeneratorAction
- β° Particle Gun
- β° Particle Energy
- β° Particle Position
- β° Particle Direction
- β° Common Particle Sources
-
- β° General Particle Source
- β° Introduction to GPS
- β° Position Distributions
- β° Angular Distributions
- β° Energy Distributions
- β° Configuring Sources with Macros
-
- β° Physics Lists
- β° What Is a Physics List?
- β° Reference Physics Lists
- β° Electromagnetic Physics
- β° Gamma Interactions
- β° Positron Physics
- β° Hadronic Physics
- β° Choosing a Physics List
-
- β° Particle Tracking
- β° Tracks
- β° Steps
- β° Energy Deposition
- β° Track Status
- β° Parent and Secondary Particles
-
- β° User Actions
- β° RunAction
- β° EventAction
- β° SteppingAction
- β° TrackingAction
- β° StackingAction
- β° ActionInitialization
-
- β° Sensitive Detectors
- β° What Is a Sensitive Detector?
- β° Creating a Sensitive Detector
- β° Hits
- β° Hit Collections
- β° Assigning Sensitive Detectors
-
- β° Recording Energy Deposition
- β° Energy Deposition
- β° Energy per Event
- β° Energy per Detector
- β° Energy Spectra
- β° Detector Efficiency
-
- β° Particle Position and Timing
- β° Particle Position
- β° Interaction Position
- β° Global Time
- β° Time of Flight
- β° Detector Timing
-
- β° Geant4 Analysis System
- β° Introduction to G4AnalysisManager
- β° Histograms
- β° Ntuples
- β° Filling Ntuples
- β° Writing Output Files
- β° Closing Analysis Files
-
- β° Geant4 and ROOT
- β° ROOT Output from Geant4
- β° Reading Geant4 Output with ROOT
- β° Plotting Energy Spectra
- β° Event Analysis
- β° Simulation-to-Analysis Workflow
-
- β° Geant4 Macro Commands
- β° Macro Files
- β° Run Commands
- β° Particle Source Commands
- β° Visualization Commands
- β° Controlling Simulations Without Recompiling
-
- β° Random Numbers and Reproducibility
- β° Monte Carlo Random Numbers
- β° Setting Random Seeds
- β° Running Independent Simulations
- β° Reproducing an Event
-
- β° Multithreading
- β° Geant4 Multithreading
- β° Running with Multiple Threads
- β° Thread-Safe User Code
- β° Analysis with Multithreading
- β° Performance Considerations
-
- β° Practical Example: Gamma-Ray Detector
- β° Project Overview
- β° Creating the World
- β° Creating the Detector
- β° Adding the Material
- β° Creating a Gamma Source
- β° Selecting Electromagnetic Physics
- β° Recording Energy Deposition
- β° Creating an Energy Spectrum
- β° Simulating Detector Resolution
- β° Analyzing the Spectrum with ROOT
-
- β° Practical Example: Radiation Shielding
- β° Project Overview
- β° Creating the Source
- β° Creating the Shield
- β° Comparing Shielding Materials
- β° Varying Shield Thickness
- β° Recording Transmitted Particles
- β° Calculating Transmission
- β° Calculating Attenuation
- β° Comparing Simulation Results
-
- β° Practical Example: PET Scanner
- β° Introduction to PET Simulation
- β° Creating a PET Detector Ring
- β° Creating Detector Crystals
- β° Assigning Detector IDs
- β° Creating a Positron Source
- β° Simulating Positron Annihilation
- β° Recording Detector Hits
- β° Applying an Energy Window
- β° Finding Coincidence Events
- β° Recording Detector Positions
- β° Creating Lines of Response
- β° Saving PET Events to ROOT
- β° Analyzing PET Data with ROOT
-
- β° Practical Example: Proton Beam in Water
- β° Project Overview
- β° Creating the Water Phantom
- β° Creating a Proton Beam
- β° Selecting the Physics List
- β° Recording Energy Deposition
- β° Dividing the Phantom into Slices
- β° Calculating Depth Dose
- β° Observing the Bragg Peak
- β° Plotting the Depth-Dose Curve
-
- β° Detector Resolution and Smearing
- β° Ideal vs Realistic Detector Response
- β° Energy Resolution
- β° Position Resolution
- β° Time Resolution
- β° Applying Detector Effects
- β° Comparing Ideal and Smeared Results
-
- β° Simulation Validation
- β° Why Validate a Simulation?
- β° Checking Geometry
- β° Checking Energy Conservation
- β° Comparing with Analytical Calculations
- β° Comparing with Reference Data
- β° Statistical Uncertainties
- β° Number of Simulated Events
-
- β° Improving Simulation Performance
- β° Geometry Performance
- β° Physics List Performance
- β° Production Cuts
- β° Reducing Unnecessary Output
- β° Multithreading
- β° Running Large Simulations
- β° Parameter Scans
-
- β° Debugging Geant4 Simulations
- β° Compilation Errors
- β° Geometry Errors
- β° Overlapping Volumes
- β° Missing Particles
- β° Missing Energy Deposition
- β° Physics List Problems
- β° Sensitive Detector Problems
- β° Empty Output Files
- β° Segmentation Faults
- β° Using Geant4 Verbose Output
-
- β° Writing Better Geant4 Applications
- β° Organizing Source Code
- β° Separating Geometry and Analysis
- β° Using Configuration Parameters
- β° Avoiding Hard-Coded Values
- β° Creating Reusable Detector Components
- β° Naming Conventions
- β° Documentation
- β° Version Control with Git
-
- β° Advanced Geometry
- β° Parameterized Geometry
- β° Replica Volumes
- β° Nested Geometry
- β° Complex Detector Arrays
- β° Importing CAD Geometry
- β° Exporting Geometry with GDML
-
- β° Optical Photons
- β° Introduction to Optical Physics
- β° Optical Photons
- β° Material Optical Properties
- β° Scintillation Light
- β° Optical Surfaces
- β° Photodetectors
- β° Counting Optical Photons
-
- β° Medical Physics Applications
- β° Geant4 in Medical Physics
- β° Radiation Dose Simulation
- β° PET Simulation
- β° SPECT Simulation
- β° Radiotherapy Simulation
- β° Proton Therapy Simulation
- β° Biological Tissue Materials
-
- β° Final Project
- β° Project Overview
- β° Define the Simulation Goal
- β° Create the Geometry
- β° Define Materials
- β° Configure the Particle Source
- β° Select the Physics List
- β° Implement Sensitive Detectors
- β° Record Simulation Data
- β° Run the Simulation
- β° Analyze the Results with ROOT
- β° Validate the Simulation
- β° Create Scientific Figures
- β° Document the Simulation
-
- β° Appendices
- β° Geant4 Class Cheat Sheet
- β° Geant4 Units Cheat Sheet
- β° Common Geant4 Macro Commands
- β° Common Geometry Classes
- β° Common Particle Definitions
- β° Common Physics Lists
- β° G4AnalysisManager Cheat Sheet
- β° Common Visualization Commands
- β° Common Geant4 Errors and Solutions
- β° Recommended Geant4 Project Structure
- β° Recommended Geant4 Simulation Workflow
-
KAHIBARO