/Geant4DriftTubesSetup

This repository has been created starting from ExP01 provided by Geant4 and adapted to the geometry used in IDEA Drift Chamber Test Beams.

Primary LanguageC++

Contributors Forks Stargazers MIT LinkedIn

Table of Contents
  1. Geant4 Drift Tubes Setup

Geant4DriftTubesSetup

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).

Channel Schematics of July 2022 Beam Test

The following Initialization Classes (usage of G4RunManager::SetUserInitialization() to set user mandatory classes to RunManager) are present:

  • G4VUserDetectorConstruction: in this class I extensively used G4Box,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 class ChamberParameterisation. The ExP01TrackerSD 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 class G4ParticleTable, set a uniform angular distribution for the momentum direction and position, fixing the particle energy to 165 GeV
  • G4UserRunAction: I used the ExP01EventAction::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 the ExP01EventAction::EndOfEventAction to print the number of trajectories stored in each event
  • G4UserSteppingAction (+ G4UserSteppingVerbose): the method void ExP01SteppingVerbose::StepInfo() gives information at each step

Additional classes are:

  • G4VisExecutive: this class is used for visualization
  • RootIO: It stores information about the sensitive detector in a ROOT file hists.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

Example of Geant4 Simulation, muon of 165 GeV and 10k events

Example of Geant4 Simulation, muon of 165 GeV and 10k events

Authors

Setup

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