Table of Contents
This repository has been created starting from the user concrete derived classes (.hh
header files in P01/include
+ .cc
ones in P01/src
) of ExP01 provided by Geant4 and adapted to the geometry inspired by test beam setups for the IDEA Drift Chamber (see a test beam configuration example in the Figure below).
The following Initialization Classes
(usage of G4RunManager::SetUserInitialization()
to set user mandatory classes to RunManager
) are present:
G4VUserDetectorConstruction
: in this class I extensively usedG4Box
,G4Tubes
classes to define the World Volume (vacuum), Tracker Volume (Chamber - Gas(He:90 IsoB:10, 90%) + Inner Tubes (Mo:50 Al:50) and Target Volumes (two Plastic Scintillators before and after the Tracker apparatus as triggers). User Limits for the tracker region have been set as well. Since the Chamber apparatus is composed of parallelepiped materials at different positions, I have defined the classChamberParameterisation
. TheExP01TrackerSD
class makes the Chamber a sensitive detector from which I can retrieve information about its Hits.G4VUserPhysicsList
: in this case, I used theFTFP_BERT
class, recommended by Geant4 developers for HEP applications, it includes the standard EM physics (“FTF” stands for FRITIOF string model (> 4 GeV) - “BERT” Bertini Cascade model (< 5 GeV), and “P” G4Precompound model used for de-excitation)G4VUserActionInitialization
The following Action Classes
(instantiated in G4VUserActionInitialization
via G4RunManager::SetUserAction()
and invoked during the event loop) have been used:
G4VUserPrimaryGeneratorAction
: I searched for muons via the classG4ParticleTable
, set a uniform angular distribution for the momentum direction and position, fixing the particle energy to 165 GeVG4UserRunAction
: I used theExP01EventAction::BeginOfRunAction
method to create a root file in which I stored 1D and 2D histograms with information about step length, time, Energy deposited in each step by muon particles, and kinetic energy associated with each track.G4UserEventAction
: I used theExP01EventAction::EndOfEventAction
to print the number of trajectories stored in each eventG4UserSteppingAction
(+G4UserSteppingVerbose
): the methodvoid ExP01SteppingVerbose::StepInfo()
gives information at each step
Additional classes are:
G4VisExecutive
: this class is used for visualizationRootIO
: It stores information about the sensitive detector in a ROOT filehists.root
ExP01MagneticField
: It can set a uniform value for the magnetic field, but in this case, an Electric Field would be needed to simulate EM showers in each parrallelepiped tube
- Brunella D'Anzi (University and INFN Bari)
Download of the source code geant4-v11.1.2 release on Mac OS X (M1 Ventura 13.3) and settings as follows for cmake
:
$ mkdir geant4-v11.1.2-build
$ cd geant4-v11.1.2-build
$ cmake -DCMAKE_INSTALL_PREFIX=/Applications/geant4-v11.1.2-install /Users/brunelladanzi/Downloads/geant4-v11.1.2
$ cmake -DGEANT4_INSTALL_DATA=ON .
$ cmake -DGEANT4_USE_OPENGL_X11=ON .
$ cmake -DGEANT4_USE_QT=ON .
$ make -j8
$ make install