Introduction to GEANT4
From UCL HEP PBT Wiki
m |
m |
||
Line 110: | Line 110: | ||
== <span style="color:#000080"> Physics processes </span> == | == <span style="color:#000080"> Physics processes </span> == | ||
+ | <span style="color:#ff0000"> G4VUserPhysicsList </span> is a mandatory user class. It has three methods: | ||
+ | |||
+ | * ConstructParticles(): define all necessary particles; | ||
+ | * ConstructProcesses(): define all necessary processes and assign them to proper particles; | ||
+ | * SetCuts(): define production thresholds (in terms of range); | ||
+ | |||
+ | GEANT4 provides a variety of physics processes of particle interactions with matter. There are seven categories of processes provided by GEANT4: | ||
+ | |||
+ | # electromagnetic | ||
+ | ** standard | ||
+ | ** low Energy (Livermore Library / Penelope) | ||
+ | # hadronic | ||
+ | # decay | ||
+ | # photolepton-hadron | ||
+ | # optical | ||
+ | # parameterization | ||
+ | # transportation | ||
+ | |||
+ | This example shows how to define your own class from the G4VUserPhysicsList base class. | ||
+ | |||
+ | |||
+ | <span style="color:#800000"> MyPhysicsList :: MyPhysicsList(): G4VUserPhysicsList() </span> | ||
+ | <span style="color:#800000"> { </span> | ||
+ | <span style="color:#800000"> //Define production thresholds </span> | ||
+ | <span style="color:#800000"> defaultCutValue = 1.0*cm; </span> | ||
+ | <span style="color:#800000"> } </span> | ||
+ | <span style="color:#800000"> void MyPhysicsList :: ConstructParticles() </span> | ||
+ | <span style="color:#800000"> { </span> | ||
+ | <span style="color:#800000"> //Define the particles </span> | ||
+ | <span style="color:#800000"> G4Electron::ElectronDefinition(); </span> | ||
+ | <span style="color:#800000"> G4Positron::PositronDefinition(); </span> | ||
+ | <span style="color:#800000"> G4Gamma::GammaDefinition(); </span> | ||
+ | <span style="color:#800000"> } </span> | ||
+ | <span style="color:#800000"> void MyPhysicsList :: SetCuts() </span> | ||
+ | <span style="color:#800000"> { </span> | ||
+ | <span style="color:#800000"> //Set the production threshold </span> | ||
+ | <span style="color:#800000"> SetCutsWithDefault(); </span> | ||
+ | <span style="color:#800000"> } </span> | ||
== <span style="color:#000080"> Generate primary particles </span> == | == <span style="color:#000080"> Generate primary particles </span> == |