Introduction to GEANT4

From UCL HEP PBT Wiki

Jump to: navigation, search
m
m
Line 115: Line 115:
=== <span style="color:#000080"> Simple physics lists </span> ===   
=== <span style="color:#000080"> Simple physics lists </span> ===   
-
<span style="color:#ff0000"> G4VUserPhysicsList </span> is used for simple physics lists. It has three methods:
+
The class <span style="color:#ff0000"> G4VUserPhysicsList </span> is used for simple physics lists. It has three methods:
 +
 
* ConstructParticles(): define all necessary particles;   
* ConstructParticles(): define all necessary particles;   
Line 121: Line 122:
* SetCuts(): define production thresholds in terms of range;  
* SetCuts(): define production thresholds in terms of range;  
-
GEANT4 provides a variety of physics processes of particle interactions with matter. The processes are decoupled from one another and the user can select those ones which are relevant for the simulation. There are seven categories of processes provided by GEANT4:
 
-
# electromagnetic
+
This example shows how to define your own class derived from the <span style="color:#ff0000"> G4VUserPhysicsList </span> base class.
-
#* standard
+
-
#* low Energy (Livermore Library / Penelope)
+
-
# hadronic
+
-
# decay
+
-
# photolepton-hadron
+
-
# optical
+
-
# parameterization - "fast simulation" physics
+
-
# transportation 
+
-
This example shows how to define your own class from the G4VUserPhysicsList base class.
 
<span style="color:#800000"> class MyPhysicsList:public G4VUserPhysicsList() </span>
<span style="color:#800000"> class MyPhysicsList:public G4VUserPhysicsList() </span>
Line 167: Line 158:
<span style="color:#800000"> G4Gamma::GammaDefinition(); ... } </span>
<span style="color:#800000"> G4Gamma::GammaDefinition(); ... } </span>
 +
 +
GEANT4 provides a variety of physics processes. These processes are decoupled from one another and the user can select those processes which are relevant to his/her simulation. There are seven categories of processes provided by GEANT4:
 +
 +
# electromagnetic
 +
#* standard
 +
#* low Energy (Livermore Library / Penelope)
 +
# hadronic
 +
# decay
 +
# photolepton-hadron
 +
# optical
 +
# parameterization - "fast simulation" physics
 +
# transportation 
 +
 +
 +
In method ConstructProcess() you have to define your physics processes:
 +
 
<span style="color:#800000"> void MyPhysicsList :: ConstructProcess() </span>
<span style="color:#800000"> void MyPhysicsList :: ConstructProcess() </span>
Line 183: Line 190:
-
where the method ConstructEM() can be defined as:  
+
where the method ConstructEM() is defined as:  
Line 202: Line 209:
<span style="color:#800000"> pmanager->AddDiscreteProcess(new G4GammaConversion); ...} </span>  
<span style="color:#800000"> pmanager->AddDiscreteProcess(new G4GammaConversion); ...} </span>  
      
      
 +
 +
and the method ConstructGeneral() is defined as:
 +
 +
 +
 +
<span style="color:#800000"> void MyPhysicsList::ConstructGeneral() </span>
 +
 +
 +
 +
 +
The method SetCuts() is defined as:
The method SetCuts() is defined as:
Line 218: Line 236:
=== <span style="color:#000080"> Detailed physics lists </span> ===  
=== <span style="color:#000080"> Detailed physics lists </span> ===  
 +

Revision as of 12:19, 7 July 2014

Personal tools