Abstract

Geant4 Detector Construction Pattern (G4DCP) is a template developed to flexibly construct complex detectors in Geant4 applications. The elements of G4DCP, including G4VUserDetectorConstruction, form an elegant template for detector setups. We construct a sample detector geometry utilizing this template and make the developed code available to the public. Program summaryProgram title: G4DCPCPC Library link to program files:https://doi.org/10.17632/s77f2khsrb.1Developer's repository link:https://github.com/mkandemirr/G4DCP.gitLicensing provisions: GNU General Public License 3Programming language: C++External routines/libraries: Geant4, CMakeNature of problem: Geant4 provides an abstract class, G4VUserDetectorConstruction, for the whole detector construction. Although this makes sense from the run manager's (G4RunManager) standpoint, implementing a single class to create a sophisticated detector results in complicated code and is not a good practice for keeping the code clean and tidy. Therefore, many Geant4 educators recommend splitting the implementation into additional methods or classes. However, no standard solution has been published, and it is left entirely to the users' skills.Solution method: To solve this problem, we propose to use two more abstract class templates in addition to the G4VUserDetectorConstruction class during the detector construction stage. As these two classes have functional similarities to G4VUserDetectorConstruction, they do not cause any complexity for users. On the contrary, they assist users in producing cleaner and reusable code (or modular code).

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call