SiPM/README.md

2.6 KiB

SiPM Detector simulation using CERN Geant4

Description

Simulation of detecting photons using Silicon photomultiplier. The output file is a ROOT file. Can be checked by TBrowser.

Prerequisities

  • CERN Geant4
  • CERN Root (tested on 6.19/01)
  • Linux or MacOS (should work on Windows, not tested)
  • Also tested on WLS Ubuntu (X11 (for e.g. VcXsrv) and OpenGL needed)

Building

Before building, be sure that you changed the macroPath to the right directory in sipm.cc.

git clone https://git.divaldo.hu/divaldo/SiPM.git
mkdir build_dir && cd build_dir
cmake ../SiPM
make -jN (where N is the number of jobs to run simultaneously)

Running

Run with default parameters (not always works)

./sipm

Run with default config file (config.conf)

./sipm -df

Run with custom config file

./sipm -f config_file_name.conf

Config file parameters

  • pgpositionx - Particle Gun X position
  • pgpositiony - Particle Gun Y position
  • pgpositionz - Particle Gun Z position
  • pgmomentumx - Particle Gun X momentum
  • pgmomentumy - Particle Gun Y momentum
  • pgmomentumz - Particle Gun Z momentum
  • sipmsizex - SiPM X Size
  • sipmsizey - SiPM Y Size
  • sipmsizez - SiPM Z Size
  • scintillatorsizex - Scintillator X Size
  • scintillatorsizey - Scintillator Y Size
  • scintillatorlength - Scintillator Z Size
  • scintillatorisbox - Scintillator can be a tube or a box
  • coatingthickness - Scintillator coating thickness
  • scintillatorradius - Radius of the scintillator. Only used when it is a tube.
  • xdivision - How many detectors should be placed along the X axis
  • ydivision - How many detectors should be placed along the Y axis
  • pgenergy - Particle Gun energy
  • numberofevents - Number of events
  • lengthunit - Size unit in detector construction (mm | cm | m)
  • firstsipmenabled - Enable the first SiPM
  • secondsipmenabled - Enable the second SiPM

Changelog

2020-04-08

  • SiPM position fix
  • Changed scintillator mother volume
  • Changed displayLimit in vis.mac
  • New default config file

2020-02-19

  • Scintillator subtracted from it's coating
  • Scintillation process fix
  • Size and position fixes
  • Print fixes in Parameters

2020-02-18

  • Both SiPMs can be enabled or disabled
  • Added an option to change between a box and tube scintillator (only box tested yet)
  • Added new parameters
  • Cleaned up the detector construction
  • Small changes according to the new parameters

2020-02-06

  • SiPMAnalisys' and SiPMParameters' GetInstance functions are returning a static reference instead of pointer
  • G4Mutex replaced with std::mutex
  • Input config file and output data file name can be changed with the GetInstance functions on the first call