Jump to content

Geant4 Simulation with Version 11.2.1

From Luter 345 Experiments
Revision as of 17:59, 24 December 2024 by Brash99 (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Installing Geant4[edit | edit source]

CERN Geant4 Guide: See here for a walkthrough to install geant4.

Geometry Setup[edit | edit source]

The geometry for the Geant4 simulation is defined in /home/jlabdaq/CDetMC/src/DetectorConstruction.cc

General Construction[edit | edit source]

  • G4 GeometryManager
    1. Opens the geometry and removes optimizations (optionally, related to just the specified logical-volume).
 G4GeometryManager::OpenGeometry(G4VPhysicalVolume* pVolume)



  • G4LogicalVolume
    1. Constructor - sets member data and adds to logical Store, voxel pointer for optimization set to 0 by default.Initializes daughter vector to 0 length.
 G4LogicalVolume::G4LogicalVolume ( G4VSolid *              pSolid,
                                    G4Material *            pMaterial,
                              const G4String &        name,
                                    G4FieldManager *        pFieldMgr = 0,
                                    G4VSensitiveDetector *  pSDetector = 0,
                                    G4UserLimits *          pULimits = 0,
                                    G4bool                  optimise = true)
a
An example of the G4LogicalVolume constructor
  • G4LogicalSkinSurface
    1. Constructor for skin surface of material
 G4LogicalSkinSurface::G4LogicalSkinSurface  ( const G4String &          name,
                                                     G4LogicalVolume *   vol,
                                                     G4SurfaceProperty * surfaceProperty)
a
An example of the G4LogicalSkinSurface constructor
  • G4PVPlacement
    1. Constructor for the placement of the object
 G4PVPlacement::G4PVPlacement ( G4RotationMatrix *   pRot,
                          const G4ThreeVector &      tlate,
                                G4LogicalVolume *    pCurrentLogical,
                          const G4String &           pName,
                                G4LogicalVolume *    pMotherLogical,
                                G4bool               pMany,
                                G4int                pCopyNo,
                                G4bool               pSurfChk = false)
a
An example of the G4LogicalSkinSurface constructor


  • G4OpticalSurface
    1. Constructor for a optical surface
 G4OpticalSurface::G4OpticalSurface ( const G4String &                name,
                                            G4OpticalSurfaceModel     model = glisur,
                                            G4OpticalSurfaceFinish    finish = polished,
                                            G4SurfaceType             type = dielectric_dielectric,
                                            G4double                  value = 1.0)
a
An example of one of the Optical Surface constructions in the DetectorConstruction.cc file

General Material Construction[edit | edit source]

  • G4Element
    • Constructor to generate an element from scratch
 G4Element::G4Element   ( const G4String &   name,
                          const G4String &   symbol,
                                G4double     Zeff,
                                G4double     Aeff)
a
An example of the element creation used in the DetectorConstruction.cc file


  • G4Material
    • Constructor to generate a material from scratch
 G4Material::G4Material  ( const G4String &    name,
                                 G4double      z,
                                 G4double      a,
                                 G4double      density,
                                 G4State       state = kStateUndefined,
                                 G4double      temp = CLHEP::STP_Temperature,
                                 G4double      pressure = CLHEP::STP_Pressure)
a
From the DetectorConstruction.cc file. Line 231 shows the creation of a new G4Material, while the lines below add elements to the newly created material.
  • G4Material (continued)
    • Add element to a material
 void G4Material::AddElement  ( G4Element * element,
                                G4int       nAtoms)


  • G4Material (continued)
    • Add property to a material
 G4MaterialPropertyVector * G4MaterialPropertiesTable::AddProperty ( const char *  	 key,
                                                                           G4double *    photonEnergies,
                                                                           G4double *    propertyValues,
                                                                           G4int         numEntries,
                                                                           G4bool        createNewKey = false,
                                                                           G4bool        spline = false)
a
An example usage of the AddProperty function in the DetectorConstruction.cc file

Scintillator[edit | edit source]

a
An example of the scintillator construction in the DetectorConstruction.cc file

Light Guide[edit | edit source]

a
An example of one of the light guide constructions in the DetectorConstruction.cc file

Phototube[edit | edit source]

a
An example of the Phototube construction in the DetectorConstruction.cc file

Graph Analysis[edit | edit source]

Found in /home/CDetMC/analysis/plots/

Graph Analysis of Tests
Plot Title Description Plot
C1 Position of incident muons in the x, y, and z coordinates, and the time of impacts. we guess ¯\_(ツ)_/¯
a
C2RA The truth values used in the simulation. Primitive energy. The Theta and Phi angles when measured. The particle pdg value.
a
Placeholder
C3RA The simulation results. Detector of hits on the scintillators. The measured mass of the particle is the interpreted PDG value. fingerID shows the event counts and which finger the events occur at. fingerED shows the energy deposited and how many times it occurred. fingerPMTID shows the PMTID's related to each scintillator and the number of incidents for each. Finger PMT Time shows the distribution of time values.
a
Placeholder
C4RA Histograms for energy deposition and number of photo electrons
a
Placeholder
C7RA Energy deposition vs number of photons
a
Placeholder
C8RA Energy deposition vs number of photons
a
Placeholder
C12 Shows the momentum of particles in each of the directions.
a
Placeholder
C13 Event impact point distribution
a
Placeholder
C14 Recorded incident impact points in the x, y, and z directions.
a
Placeholder
C33RA Angle of incident ± π/2
a
Placeholder