Abstract

A review of tools and methods to calculate electrostatic potentials and fields inside high-purity germanium detectors in various configurations is given. The methods are illustrated concretely with a new educational program named GeFiCa - Germanium detector Field Calculator. Demonstrated in GeFiCa are generic numerical calculations based on the successive over-relaxation method as well as analytic ones whenever simplification is possible due to highly symmetric detector geometries. GeFiCa is written in C++ and provided as an extension to the CERN ROOT libraries widely used in the particle physics community. Calculation codes for individual detectors, provided as ROOT macros and python scripts, are distributed along with the GeFiCa core library, serving as both examples showing the usage of GeFiCa and starting points for customized calculations. They can be run without compilation in a ROOT interactive session or directly from a Linux shell. The numerical results are saved in a ROOT tree, making full use of the I/O optimization and plotting functionalities in ROOT. The speed and precision of the calculation are comparable to other commonly used packages, which qualifies GeFiCa as a scientific research tool. However, the main focus of GeFiCa is to clearly explain and demonstrate the analytic and numeric methods to solve Poisson’s equation, practical coding considerations and visualization methods, with intensive documentation and example macros. It serves as a one-stop resource for people who want to understand the operating mechanism of such a package under the hood.

Highlights

  • Ably high depletion voltages or hidden undepleted regions, which may occur when the size of a detector is enlarged [6]

  • A complete list is impossible, but commonly used field calculation packages include fieldgen used in GRETINA [15] and MJD, ADL [2] and SIMION [2,3,4,16] used in AGATA and GERDA, Maxwell [17] used in most experiments, MaGe [18] used in GERDA and MJD, and FEniCS [19], a popular open-source computing platform for solving partial differential equations

  • It is used by the AGATA collaboration to simulate and analyze pulse shapes of electronic signals from segmented highpurity germanium (HPGe) detector arrays in order to determine interaction positions of γ -rays originated from the nuclear target under study

Read more

Summary

Introduction

A complete list is impossible, but commonly used field calculation packages include fieldgen (an essential part of siggen [1,14]) used in GRETINA [15] (an early phase of GRETA) and MJD, ADL [2] and SIMION [2,3,4,16] used in AGATA and GERDA, Maxwell [17] used in most experiments, MaGe [18] used in GERDA and MJD, and FEniCS [19], a popular open-source computing platform for solving partial differential equations. Using efficient finite-element codes, its main purpose is to solve partial differential equations, including Poisson’s equation, which is needed in HPGe field calculations As versatile as it is, FEniCS demands effort to adapt it to a specific application, such as calculating fields in HPGe detectors. The lack of detailed documentation makes it hard for a developer to modify the code of fieldgen for other geometries or to add new features This is one of the reasons why many research groups write their own code for HPGe detector field calculation instead of using the mentioned major players. The second advantage is that writing their own code instead of using existing ones deepens the understanding of junior researchers on HPGe detector working principles and numerical calculation techniques Drawbacks of this approach include the limited functionality, the lack of verification and the waste of time in reinventing the wheel. Home brewed codes built on top of some existing tools may be the best choice for education and specific applications, as long as the drawbacks mentioned previously can be effectively overcome through the demonstration provided in GeFiCa

Space charges
Poisson’s equation
Planar detectors
Coaxial detectors
Depletion voltage
Hemispherical detectors
Impurity requirement
Numerical calculation
Conjugate gradient method
Successive over-relaxation method
Undepleted region
Electric field lines
Boundaries in between grid points
Weighting potential in segmented detectors
Capacitance
Interpolation between grid points
Coding convention
Detector configurations
Compilation and installation
Supported OS
Code accessibility
Code documentation
6.10 Macros and scripts
Code verification
Comparison with analytic solutions
Comparison with fieldgen
Relaxation factor
Output file size
Extendability and limitation
Findings
10 Summary

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.