Software

My software work focuses on building reproducible tools for detector simulation, scientific computing, and automated analysis workflows.


Angular Factors Calculator

Role: Lead Developer and Maintainer
Repository: angular-factors-calculator

Angular Factors Calculator is the public reproducibility package for my first- and corresponding-author annular-detector manuscript. It calculates annihilation-photon correlation factors from angle-resolved Geant4 ROOT data or supplied NaI(Tl) mass coefficients.

The package provides:

For the documented ideal annular geometry, the package reproduces the manuscript’s full-precision factors wL1 = 1.260741, wL2 = 1.253825, and wG = 1.269388.


Geant4 Detector Simulation Pipeline

Role: Developer and Maintainer
Repository: geant4-detector-simulation-pipeline

The Geant4 Detector Simulation Pipeline is a Python-assisted Geant4 workflow for automated scintillation detector response simulations. It was developed to reduce manual effort in repeated detector-response studies and to make simulation campaigns more reproducible, traceable, and easier to extend.

The software connects a configurable Geant4 C++ backend with Python tools for simulation setup, campaign execution, ROOT-file validation, deposited-energy spectrum generation, count extraction, plotting, and output organisation. It began as my master’s-thesis platform and now serves as the computational foundation of an ongoing beta-plus-emitter coincidence-summing study.


Motivation

Systematic detector-response studies often require many related Geant4 simulations across different source energies, detector materials, detector geometries, event counts, and source configurations. Manually preparing macros, running simulations, checking outputs, generating spectra, and extracting counts can become repetitive and error-prone.

This pipeline was developed to automate that workflow from simulation configuration to final spectra and count tables.


Main Capabilities


Supported Detector Geometries

The pipeline currently supports three detector configurations:

These geometries allow detector response to be compared under different angular-coverage and source-placement conditions.


Supported Scintillator Materials

Implemented scintillator materials include:


Simulation and Analysis Workflow

A typical simulation campaign follows this structure:

  1. Define detector material, geometry, source configuration, and event count.
  2. Generate Geant4 macro files using Python.
  3. Execute Geant4 simulations.
  4. Validate ROOT output files.
  5. Extract deposited-energy data from the event tree.
  6. Generate deposited-energy spectra.
  7. Extract photopeak, sum-peak, and total non-zero deposited-energy counts.
  8. Export final results as plots and comparison tables.

Research Use

This software forms the basis of my master’s thesis:

A Python-Assisted Geant4 Workflow for Automated Scintillation Detector Response Simulations

It is also the software basis for my first-author conference paper accepted for poster presentation at IEEE Nuclear Science Symposium 2026:

A Python-based Tool for Automated Geant4 Simulations of Scintillation Detectors

After the thesis, I extended a private working copy of the platform to reconstruct the published Byun eight-block detector, implement custom Na-22, O-14, and Sc-44 source models from nuclear decay schemes, execute 10^8-event campaigns, and calculate geometry-dependent angular factors for a near-4π NaI(Tl) soccer-ball array.

These unpublished extensions and research outputs are intentionally excluded from the public repository pending manuscript development and supervisor approval. The public repository remains the stable, reproducible version of the thesis software.