  Geant4 Detector Construction Pattern (GDCP) is a C++ package containing a set
of utility classes for developers to utilize during the detector construction
phase of a Geant4 application. The main objective of this study is to provide
an interface that helps users develop a highly flexible, understandable, and
maintainable detector construction code. The package also contains a couple of
helper classes facilitating the implementation of optical components in
scintillation detectors. Finally, an advanced Geant application has been
provided to demonstrate the package's utility. Program summary Program title:
GDCP CPC Library link to program files: Licensing provisions: GNU General
Public License 3 Programming language: C++ External routines/libraries: Geant4
Nature of problem: Geant4 provides an abstract class,
G4VUserDetectorConstruction, that is used for the whole detector construction.
This is sufficient for a simple detector setup but implementing a single class
for building a complex detector leads to complexity in the code. To solve this
issue it is recommended to split the implementation into more methods or
classes; however, there is no standard solution published yet and it is
entirely left to the users' ability. Solution method: To address this issue, I
propose to apply the "Builder design pattern" in the detector construction
phase. For this, the elements of the Builder design pattern have been
introduced and made available for developers. Keywords:
G4VUserDetectorConstruction, Builder design pattern, Detector construction,
Component builder, Optical photon, Scintillator
