Introduction to GEANT4
From UCL HEP PBT Wiki
m |
m |
||
| Line 5: | Line 5: | ||
* You may take actions during the simulation - inspect and store results. | * You may take actions during the simulation - inspect and store results. | ||
| - | The interaction with GEANT4 is done via base classes. | + | The interaction with GEANT4 is done via base classes. |
| - | + | ; Mandatory classes: | |
| - | + | * <span style="color:#800000"> G4VUserDetectorConstruction </span>: Describe the experimental setup, geometry and materials | |
| - | + | * <span style="color:#800000"> G4VUserPhysicsList </span>: Define particles, physics processes and range cuts | |
| - | + | * <span style="color:#800000"> G4UserPrimaryGeneratorAction </span>: Describe particle source, source dimensions, initial position, energy spectrum, angular distributions | |
| - | + | ; Optional classes: | |
| - | + | * <span style="color:#800000"> G4UserRunAction </span>: Define and store histograms | |
| - | + | * <span style="color:#800000"> G4UserEventAction </span>: Event selection and analysis of simulation data | |
| - | + | * <span style="color:#800000"> G4UserStackingAction </span>: Customize priority of tracks | |
| - | + | * <span style="color:#800000"> G4UserTrackingAction </span>: Decide whether a trajectory should be stored or not | |
| - | + | * <span style="color:#800000"> G4UserSteppingAction </span>: Kill, suspend, postpone a track | |
| - | + | ; Manager class | |
| + | |||
| + | * <span style="color:#800000"> G4RunManager </span>: Manages the simulation process | ||
| + | |||
| + | The function main() is the skeleton of your simulation code. Inside the function you instantiate G4RunManager and notify it of your mandatory and optional classes. | ||
| + | |||
| + | Example main() function: | ||