1 Introduction

High-purity germanium detectors find applications in a variety of fundamental research fields. They are used to measure nuclear structures [1, 2] and coherent elastic neutrino-nucleus scattering [3, 4], as well as to search for dark matter [5,6,7] and neutrinoless double-beta decay [8,9,10,11]. In these experiments, the time development of the charges induced on the contacts of the detectors, i.e. the pulses, are recorded for all events above a given energy threshold. Analyzing the pulse shapes provides information about the event topologies, which allows to reconstruct the positions of charge carrier generation [12] or to identify background in low-background experiments [13, 14].

Algorithms for pulse shape analysis can be tuned by testing their efficiencies on a selection of pulses with known origin. These so-called pulse shape libraries can either be simulated using a dedicated software package [15,16,17], or created from data by depositing energy in well-defined volumes in the detector. In the latter case, the germanium detector is often irradiated with a collimated beam consisting of alphas, betas or low-energy gammas [18,19,20], which deposit their energy within less than a few millimeters away from the surface. This allows for the investigation of surface effects and dead layers but does not provide information on pulses from the inner parts of the detector.

One way of creating a pulse shape library for the bulk of the detector is based on the Compton effect [21,22,23,24,25,26]. A common approach [22, 24,25,26] is to irradiate the detector under test with gammas from a collimated \(^{137}\)Cs source. Perpendicularly scattered gammas which pass through horizontal slit collimators are registered by energy-sensitive detectors placed nearby. The pulses for different volumes of the detector are recorded, step by step, by moving the collimated source and the slit collimators to different positions. This approach has been very successful in detector bulk characterization campaigns. A drawback, however, is the restriction to perpendicularly scattered gammas; this either limits the statistics of the measurement or results in very long measurement times. Another technique of collecting pulses from bulk events in highly segmented detectors [27, 28] is based on specific pulse shape comparison procedures when irradiating the detector with collimated gamma beams from different sides.

In this paper, a novel and compact Compton Scanner setup equipped with an energy- and position-sensitive camera is presented. This setup does not require any collimation of the scattered gammas. The increased range of usable Compton angles results in higher statistics and shorter measurement times.

2 Construction

2.1 Basic working principle

In the Compton Scanner, the detector under test is irradiated vertically from the top with a collimated gamma beam. A schematic of a typical gamma trajectory is shown in Fig. 1. The figure also depicts the Cartesian coordinate system, x, y and z, used throughout this paper. Gammas which deposit part of their energy, \(E_\text {det}\), through Compton scattering in the detector are deflected by the Compton angle, \(\theta \), with

$$\begin{aligned} \cos (\theta ) = 1 - \dfrac{m_ec^2 E_\text {det}}{E_\text {in} \left( E_\text {in} - E_\text {det}\right) }~, \end{aligned}$$
(1)

where \(E_\text {in}\) is the energy of the incoming gammas.

Fig. 1
figure 1

Schematic of a typical gamma trajectory in the Compton Scanner: The gamma is emitted by the source at \((x_0, y_0, z_0)\), Compton scatters inside the germanium detector at (xyz) and is fully absorbed in the camera at \((x_c, y_c, z_c)\). The Cartesian coordinate system is defined such that the y axis is parallel to the line which connects the centers of the detector and the camera, and the z axis is parallel to the beam. The origin of the Cartesian coordinate system is located at the center of the bottom surface of the detector

If a scattered gamma is fully absorbed in the camera placed nearby, which measures both energy and position, the location of the scattering point in the detector, (xyz), can be reconstructed. Assuming there is exactly one scattering point on axis, i.e. \(x = x_0\) and \(y = y_0\), where \((x_0,y_0,z_0)\) is the position of the center of source, the unknown z coordinate can be calculated as

$$\begin{aligned} z = z_\theta {:}{=}\, z_c + \sqrt{(x_c-x_0)^2 + (y_c-y_0)^2} \,\cot (\theta )~, \end{aligned}$$
(2)

where \(z_\theta \) is the z coordinate of the scattering point as reconstructed from the Compton angle \(\theta \) and from the position of the hit in the camera, \((x_c, y_c, z_c)\). The relation \(z = z_\theta \) in Eq. (2) is true as long as the beam is parallel to the z axis.

Pulse shape libraries are created by moving the source to different positions \(x_0\) and \(y_0\). Note that with this setup, for any position of the source, data are collected for the whole range in z at the same time.

Fig. 2
figure 2

a 3D model and b photo of the Compton Scanner setup. The vertical motor is used to place the pixelated camera at an optimal height with respect to the detector under test. The horizontal motor allows to move the \(^{137}\)Cs source along the line which connects the centers of the detector cryostat and the pixelated camera. The rotational motor is used to rotate the whole frame, along with the pixelated camera and the source, around the cryostat

2.2 Requirements

The purpose of this Compton Scanner setup is to create pulse shape libraries from bulk events with an intrinsic spatial resolution of less than \(\pm 1\,\text {mm}\) in all dimensions. This volume is compatible with the volume of the charge clouds at energies around 2 MeV as expected in events from neutrinoless double-beta decay [29]. This results in a set of physical requirements on the components of the Compton Scanner:

  • The gamma source should be monoenergetic, with a single gamma line at an energy that has a high penetration power into germanium and that has a high probability for Compton scattering. The gammas should predominantly scatter into an interval around 90\(^{\circ }\).

  • The diameter of the collimated beam needs to be less than 2 mm throughout the detector volume to reach the target resolution in the x and y directions. The collimation of gammas with energies suitable for Compton scatter requires several centimeters of high-density material [30], e.g. lead or tungsten.

  • For each position of the source, the data taking should only take up to a few hours, such that multiple detectors per year can be scanned at multiple temperatures. For this, a highly active source with an activity of several hundred MBq is required.

  • The camera needs to have a spatial and energy resolution good enough to reconstruct z using Eq. (2) with an uncertainty of less than \(\pm 1\,\text {mm}\).

  • The Compton Scanner setup is to accommodate arbitrary detector cryostats, demanding it to be modular and to have a framework to mount and move the components. Enough space in the center of the setup is required where the detector cryostat can be installed.

In addition, the reconstruction based on Eq. (2) requires that the positions of the three main components of the Compton Scanner, i.e. source, detector and camera, are all known and aligned within a common coordinate system.

2.3 Components

The individual components are mounted on a common frame as shown in Fig. 2. The frame consists of a circular base plate with four vertical MayTec aluminum profiles, two of which are connected via a fifth horizontal profile. The source and the camera are attached to a horizontal and a vertical (\({\hbox {STANDA}^{\circledR }}\) 8MT50-200BS1-MEn1), respectively, which allow to move them with a precision of 5 \(\upmu \hbox {m}\). The base plate is fixed onto a rotational motor stage (\({\hbox {STANDA}^{\circledR }}\) 8MRB450-360-60-MEn2), which allows to rotate it with a precision of 0.15\(^{\circ }\). The rotational motor stage is mounted on a \(600\,\text {mm} \times 600\,\text {mm}\) aluminum breadboard, with a \(300\,\text {mm} \times 300\,\text {mm}\) cutout in the center, which is located on a table with a circular hole. The detector in its cryostat is inserted through this hole. The Compton Scanner can accommodate cryostats with diameters of up to 130 mm. Two line lasers, attached to two adjacent vertical MayTec profiles, are used to roughly align the center of the Compton Scanner frame with respect to the center of the detector cryostat.

The source used in the Compton Scanner is a cylindrical 740 MBq \(^{137}\)Cs source with an active diameter of 0.9 mm. It emits gammas with a characteristic energy of 661.660 keV [31] and fulfills the requirements listed in Sect. 2.2. The emission of the gammas is isotropic. To create a narrow vertical beam, the source is embedded in a collimator.

Fig. 3
figure 3

Schematic cross section of the rotationally symmetric \(^{137}\text {Cs}\) source collimator

The collimator used in the Compton Scanner is shown in Fig. 3. It consists of 13 disks and a three-piece surrounding structure made out of W95NiCu tungsten alloy. Nine of the disks form a 100 mm long, massive collimator with a borehole of 0.9 mm in diameter. At the top, the collimator assembly provides a shielding of at least 50 mm of tungsten for radiation safety. The geometry of the collimator ensures that downwards but not vertically emitted 661.660 keV gammas have to pass through at least 100 mm of tungsten. This reduces the fraction of downward gammas that do not pass through the borehole to less than \(10^{-7}\). The diameter of the borehole leads to an aperture angle of the collimated beam of 0.26\(^{\circ }\). The collimated source is mounted as close to the detector cryostat as possible in order to minimize the width of the beam reaching the detector. If the detector inside the cryostat is placed within 100 mm underneath the bottom of the collimator, the beam spot diameter is less than 1.8 mm.

Fig. 4
figure 4

Schematic of the n-type segBEGe detector [36] used in the first Compton Scanner measurement campaign: a top view and b bottom view. In a, the cylindrical coordinate system to describe positions in the segBEGe detector is shown

The mean free path of 661.660 keV gammas in germanium is around 26.9 mm [32]. For perpendicularly scattered gammas, 373 keV are deposited in the germanium detector. The scattered 289 keV gammas have a mean free path of 16.8 mm [32]. The charge collection times in germanium detectors are typically between 400 ns and 1000 ns, depending on the geometry and operational parameters.

The camera used to detect the Compton scattered gammas is a customized OEM module produced by H3D, Inc. [33]. The camera system consists of four pixelated cadmium-zinc-telluride (CdZnTe) detectors. The mean free path of 289 keV gammas in CdZnTe is around 11.2 mm [32]. Each detector is based on a \(22\times 22\times 10\,\text {mm}^3\) CdZnTe crystal. The four detectors are mounted inside an aluminum box in a \(2\times 2\) configuration with 2 mm gaps between them. For each CdZnTe detector, the \(22\times 22\,\text {mm}^2\) surface facing the germanium detector is fully covered by the cathode. The back \(22\times 22\,\text {mm}^2\) surface is covered by the anode which consists of \(11\times 11\) pixels with a center-to-center distance of 1.9 mm. This contact geometry allows for a three-dimensional reconstruction of the positions of the energy depositions (hits) in the camera. The lateral and depth position resolution of the camera are both less than 0.5 mm full width at half maximum, FWHM. The sub-pixel lateral resolution is reached by considering the effect of charge sharing between neighboring pixels [34]. The depth resolution is achieved by comparing the anode and cathode pulse amplitudes [35].

The camera readout system, trigger and reconstruction algorithms are proprietary technology of H3D, Inc. [33]. The camera was bought together with software providing a data stream consisting of deposited energy, time and position values for each event. The energy resolutions of the pixelated camera at energies relevant for Compton Scanner measurements were determined by irradiating the camera directly with gammas emitted from a \(^{133}\)Ba source, selecting only events with a single energy deposition. The resolution was observed to be homogeneous across the pixels, varying by less than 10%. The average values for the measured FWHM of the characteristic gamma peaks of \(^{133}\)Ba are listed in Table 1.

Table 1 Absolute and relative energy resolutions of the pixelated camera used in the Compton Scanner, determined from events with the characteristic \(^{133}\)Ba gamma energies [31] and only one energy deposition in the camera. The width of the peak, \(\varDelta E\), corresponds to the FWHM

3 Integration of a detector

3.1 n-type segBEGe detector

The first detector operated in the Compton Scanner was an n-type segmented Broad Energy Germanium (segBEGe) detector [36]. A schematic of this detector is depicted in Fig. 4. The detector has a diameter of 75 mm and a height of 40 mm. It has one n++ point contact, the so-called core contact, and a four-fold-segmented p++ contact geometry on the mantle. This segmentation results in five pulses per event, providing additional information about the event topology compared to an unsegmented detector. The core contact has a diameter of 15 mm. It is surrounded by a ring covered with a passivation layer with an outer diameter of 39 mm. The segments 1, 2 and 3 each extend over an arc of 60\(^{\circ }\) and are evenly distributed every 120\(^{\circ }\). Segment 4 covers the remaining regions on the top and mantle surface and is closed at the bottom end-plate. Positions in the segBEGe detector are described in a cylindrical coordinate system using the coordinates, r, \(\phi \) and z, as shown in Fig. 4a. The center of the detector in the horizontal plane is defined as \(r = 0\,\text {mm}\). The polar angle \(\phi = 0^\circ \) is located at the boundary between the segments 1 and 4 which is closer to segment 3. Looking from the top, \(\phi \) increases counterclockwise. The z axis points from the bottom to the top of the detector, with \(z = 0\,\text {mm}\) located at the bottom of the detector.

For measurements with the Compton Scanner, the n-type segBEGe detector was installed in the temperature-controlled cryostat K2 [37, p. 39]. It was operated at the recommended bias voltage of 4500 V using an iseg SHQ226L high voltage power supply [38]. The charges induced on the core and all segment contacts were amplified using charge-sensitive preamplifiers (EURISYS PSC823C [39]) and recorded using a 14-bit analog-to-digital converter (STRUCK SIS3316-250-14 [40]) ADC, with a sampling frequency of 250 MHz, i.e. a sampling time of 4 ns. All pulses from the core contact, which collects electrons, were inverted by the ADC in order to record them with positive pulse amplitudes.

3.2 Intrinsic spatial resolution

To accommodate the K2 cryostat, the pixelated camera was placed such that its surface had a minimal distance of 72 mm to the center of the Compton Scanner frame. The vertical centers of the segBEGe detector and the camera were aligned. The latter maximizes the number of detectable perpendicularly scattered gammas. According to the Klein-Nishina distribution [41], placing the camera at lower z would increase the overall number of detectable gammas but shift the selection of gammas to smaller Compton angles, resulting in higher uncertainties on the z reconstruction. The distance between the top of the detector and the bottom of the source collimator was 31 mm.

The intrinsic spatial resolution for this configuration of the Compton Scanner was determined from Monte Carlo simulations performed with the simulation toolkit Geant4 [42]. Two scenarios with different positions of the vertical beam were simulated:

  1. (i)

    At \(r = 0\,\text {mm}\), i.e. the vertical beam placed at the center of the detector and the Compton Scanner frame.

  2. (ii)

    At \(r = 36\,\text {mm}\), i.e. the vertical beam placed 36 mm away from the center of the Compton Scanner frame at a minimal distance of 36 mm to the surface of the camera.

Only events with exactly one Compton scatter in the germanium detector and at least one hit in the pixelated camera were selected. The lateral and depth position resolutions of the camera of 0.5 mm FWHM were used in the Monte Carlo simulation for smearing the hit positions. The energy resolution of the camera of 0.89% FWHM at 356.017 keV was added as uncertainty on the hit energies. The z coordinates were reconstructed for all selected events using Eqs. (1) and (2). The results are shown in Fig. 5.

The size of the beam spot in the xy-plane does not depend on the xy-position of the source. The beam spot diameter at the top (bottom) of the detector was 1.23 mm (1.61 mm) for all radii, resulting in an average of 1.40 mm, see Fig. 5a. This agrees well with the diameters expected from the aperture of the beam.

Figure 5b depicts the distribution of Compton angles for all simulated events with a single scatter in the germanium detector. At \(r = 36\,\text {mm}\), the gamma beam is closer to the camera, resulting in the solid angle of the acceptance being four times larger than for \(r = 0\,\text {mm}\). Thus, a significant number of events with \(\theta \) below 60\(^{\circ }\) and above 120\(^{\circ }\) are detected.

Fig. 5
figure 5

a Beam spot profile as determined from a Monte Carlo simulation performed with the simulation toolkit Geant4 [42]. b Distribution of Compton angles, \(\theta \), of Monte Carlo events with only one Compton scatter in the germanium detector. Shown as a dashed band is the angle range of perpendicularly scattered gammas, \(\theta = (90.00\pm 0.72)^\circ \), expected for a 80 mm long and 1 mm wide collimator slit and perfect collimation. c Deviation, \(\varDelta z\), of the reconstructed \(z_\theta \) using Eq. (2) from the true z in the simulation using the energy and spatial resolutions from the camera as listed in Sect. 3.2. d FWHM of the \(\varDelta z\) distribution, \(\varDelta z\) (FWHM), as a function of the energy resolution, \(\varDelta E/E\), of the detector at 356.017 keV. The dashed line in d depicts the upper limit for the precision of the reconstruction, achieved when the energy reconstructed by the camera is used. The minimal distance from the surface of the pixelated camera to the vertical beam is 72 mm (top) and 36 mm (bottom), respectively

During measurements, the Compton angles cannot be measured directly but are calculated from the energies deposited in the detector or in the camera. For cases in which a germanium detector has a poor energy resolution, \(E_\text {det}\) can be determined from the energy deposited in the camera, \(E_\text {cam}\), via \(E_\text {det} = E_\text {in} - E_\text {cam}\) with a resolution given by the uncertainties on \(E_\text {cam}\). The resulting Gaussian distributions of the differences, \(\varDelta z\), between the reconstructed \(z_\theta \) and the true z for this case are shown in Fig. 5c. The resolution for reconstructing z is 1.69 mm FWHM at \(r = 0\,\text {mm}\) and 1.16 mm FWHM at \(r = 36\,\text {mm}\). This defines an upper limit for the intrinsic \(\varDelta z\) resolution of the Compton Scanner setup.

Alternatively, \(E_\text {det}\) can be determined directly from the core pulses recorded from the germanium detector. If the energy resolution of the detector is better than the resolution on \(E_\text {det}\) determined via \(E_\text {cam}\), the intrinsic spatial resolution is further improved. The dependence of the \(\varDelta z\) resolution on the energy resolution of the detector is shown in Fig. 5d. For the n-type segBEGe detector, the energy resolution at 356.017 keV is 0.74% FWHM [36]. When reconstructing \(\theta \) using the energy deposited in the segBEGe detector, the \(\varDelta z\) resolution is slightly improved to 1.52 mm FWHM at \(r = 0\,\text {mm}\) and to 1.09 mm FWHM at \(r = 36\,\text {mm}\).

If the same \(\varDelta z\) resolution were to be targeted with a similar setup using a single 80 mm long slit collimator, the width of the collimator slit would need to be below 1 mm. Assuming perfect collimation, only gammas with Compton angles of \((90.00\pm 0.72)^\circ \) would pass through the collimator. This would reduce the fraction of usable gammas to \((2.73\pm 0.22)\%\) at \(r = 36\,\text {mm}\) and to \((4.30\pm 0.19)\%\) at \(r = 0\,\text {mm}\), see Fig. 5b. In addition, pulses would only be collected for 1 mm out of the 40 mm in z for a given collimator position. This would further reduce the fraction of detectable gammas to \((0.068\pm 0.005)\%\) at \(r = 36\,\text {mm}\) and to \((0.107\pm 0.005)\%\) at \(r = 0\,\text {mm}\), resulting in a decrease in statistics of around 1000. Even with a higher acceptance in solid angle and multiple slits at different heights, the decrease in statistics compared to the Compton Scanner presented in this paper would be of the order of 100.

3.3 Spatial alignment

The first step to approach the intrinsic spatial resolution of the Compton Scanner was a mechanical alignment of the centers of the detector and of the Compton Scanner frame. After inserting the K2 cryostat through the hole in the table, the center alignment was of the order of a few millimeters. Line lasers, which produced a laser cross at the center of the Compton Scanner frame, were used to further align the centers. Moving the rotational motor stage on the aluminum breadboard until the laser cross matched the center of the cryostat allowed for a center alignment to several hundreds of micrometers.

Fig. 6
figure 6

Schematic of the movement of the source in the local motor coordinate system of the Compton Scanner, \({\mathcal {H}}\) and \({\mathcal {A}}\). Also shown are the misalignment quantities, \(\varDelta {\mathcal {H}}\) and \(\varDelta {\mathcal {A}}\), that define the misalignment between the center of the Compton Scanner frame (white point) and the center of the segBEGe detector (black point)

The position of the source was set by the horizontal stage position, \({\mathcal {H}}\), and the rotational stage angle, \({\mathcal {A}}\), in the local motor coordinate system shown in Fig. 6. The origin of this cylindrical coordinate system was located at the center of the Compton Scanner frame. The position of the source had to be expressed in the polar coordinates, r and \(\phi \), used in the segBEGe detector coordinate system introduced in Fig. 4a. If the centers were perfectly aligned, the source position, \({\mathcal {H}}\), in the local motor coordinate system and r in the detector coordinate system would only differ by an offset, i.e. \(r = {\mathcal {H}} - {\mathcal {H}}_0\). The same would apply to the rotational stage angle, \({\mathcal {A}}\), and the polar angle \(\phi \), i.e. \(\phi = {\mathcal {A}} - {\mathcal {A}}_0\). However, the unavoidable mismatch of the centers made the conversion from local motor coordinates to detector coordinates non-trivial and required further alignment measurements.

Figure 6 introduces the quantities that define a possible misalignment of the center of the Compton Scanner frame with respect to the center of the segBEGe detector. For a non-zero mismatch, \(\varDelta {\mathcal {H}}\), the detector edge is reached at different horizontal stage positions, \({\mathcal {H}}_e\), for different \({\mathcal {A}}\). There exists a rotational stage angle, \(\varDelta {\mathcal {A}}\), at which \({\mathcal {H}}_e\) reaches its maximum value, \({\mathcal {H}}_{e,1}\). Accordingly, the minimum, \({\mathcal {H}}_{e,2}\), is reached after a rotation of 180\(^{\circ }\). The misalignment quantities, \(\varDelta {\mathcal {H}}~=~\frac{1}{2} ({\mathcal {H}}_{e,1}~-~{\mathcal {H}}_{e,2})\) and \(\varDelta {\mathcal {A}}\), as well as the offset, \({\mathcal {H}}_0~=~\frac{1}{2}({\mathcal {H}}_{e,1}~+~{\mathcal {H}}_{e,2})~+~R\), where R is the radius of the segBEGe detector, were determined from data.

An alignment scan was performed to determine \(\varDelta {\mathcal {H}}\) and \(\varDelta {\mathcal {A}}\). In this scan, \({\mathcal {A}}\) was increased from 0\(^{\circ }\) to 360\(^{\circ }\) in steps of 5\(^{\circ }\). For every \({\mathcal {A}}\), the horizontal motor stage was moved over a range of 11 mm in steps of 1 mm across the edge of the detector. At each point, a 1 min measurement was taken.

Figure 7 shows the rate of events, N, recorded in the segBEGe detector as a function of \({\mathcal {H}}\) for \({\mathcal {A}} = 0^\circ \). At low \({\mathcal {H}}\), the vertical beam does not intersect with the detector and only background events are observed. At high \({\mathcal {H}}\), the beam is fully contained within the detector volume, resulting in a higher count rate. The detector edge can be determined by fitting the data to a Gauss error function, i.e.

$$\begin{aligned} N(\mathcal {H}) = \dfrac{N_0}{2} + \dfrac{N_0}{2} \text {erf}\left( \dfrac{\sqrt{2} (\mathcal {H} - \mathcal {H}_e(\mathcal {A}))}{R_b}\right) + B, \end{aligned}$$
(3)

where \(R_b\) is the average radius of the beam spot, \(N_0\) is the event rate expected when the beam spot is fully contained on the detector surface and B is the rate of background events. The rate of events from the \(^{137}\)Cs source was measured to be around 3 kHz, while the rate of background events was around 350 Hz.

Fig. 7
figure 7

Rate of events in the segBEGe detector as determined from 1 min measurements as a function of the horizontal motor position, \({\mathcal {H}}\), at \({\mathcal {A}} = 0^\circ \). The statistical uncertainties would be hidden by the markers and are not shown

Fig. 8
figure 8

Horizontal stage position at which the detector edge is determined, \({\mathcal {H}}_e\), as a function of the rotational stage angle \({\mathcal {A}}\). The misalignment quantities \(\varDelta {\mathcal {H}}\) and \(\varDelta {\mathcal {A}}\) are indicated. The error bars correspond to the uncertainties obtained from the fits to determine \({\mathcal {H}}_e\)

For cylindrical detectors, the relation between \({\mathcal {H}}_e\) and \({\mathcal {A}}\) as derived from the geometry depicted in Fig. 6 is

$$\begin{aligned} \begin{aligned} {\mathcal {H}}_e({\mathcal {A}}) = {\mathcal {H}}_0&- \varDelta {\mathcal {H}} \cos ({\mathcal {A}} - \varDelta {\mathcal {A}}) \\ {}&\pm \sqrt{R^2 - (\varDelta {\mathcal {H}})^2 \sin ^2({\mathcal {A}} - \varDelta {\mathcal {A}})}~. \end{aligned} \end{aligned}$$
(4)

Details on the derivation of Eq. (4) are provided in Appendix A.

The results for the segBEGe detector, obtained from fitting the function in Eq. (4) to the measured \({\mathcal {H}}_e\), are shown in Fig. 8. The center of the Compton Scanner frame was reached at \({\mathcal {H}}_0=(-48.7\pm 0.6)\,\text {mm}\). The mismatch of the centers was \(\varDelta {\mathcal {H}}=(0.87\pm 0.06)\,\text {mm}\) at \(\varDelta {\mathcal {A}}=(338.7\pm 0.9)^\circ \). The conversion of local motor coordinates with \({\mathcal {H}} < {\mathcal {H}}_0\) to r and \(\phi \) results from geometrical calculations:

$$\begin{aligned} r&= \sqrt{\vert {\mathcal {H}} - {\mathcal {H}}_0\vert ^2 + (\varDelta {\mathcal {H}})^2 - 2 \varDelta {\mathcal {H}} \vert {\mathcal {H}} - {\mathcal {H}}_0\vert \cos ({\mathcal {A}}-\varDelta {\mathcal {A}})}, \end{aligned}$$
(5)
$$\begin{aligned} \phi&= \text {asin} \left( \dfrac{\vert {\mathcal {H}} - {\mathcal {H}}_0\vert \sin ({\mathcal {A}} - \varDelta {\mathcal {A}})}{r} \right) + \varDelta {\mathcal {A}} - {\mathcal {A}}_0~, \end{aligned}$$
(6)

where \({\mathcal {A}}_0 = (158.1\pm 1.2)^\circ \) is the offset between \(\phi = 0^\circ \) and the zero of the rotational motor stage. The value of \({\mathcal {A}}_0\) was determined by measuring the position of the segment boundaries in rotational motor coordinates [36]. In the following, all motor stage positions are converted to detector coordinates using Eqs. (5) and (6).

4 Data acquisition and analysis

4.1 Data taking

The first set of measurements was performed by irradiating the detector along the \(\langle 100\rangle \) crystallographic axis in segment 1, see Fig. 9. The scan points had a distance of 2 mm. The measurement times were increased from 10 to 60 min towards the center of the detector. This was done to mitigate the loss in statistics due to the higher probability of additional interactions of the scattered gammas in the germanium detector along their path to the camera. At all positions, the event rate in the segBEGe detector was around 3 kHz. In the pixelated camera, the event rate was between 100 Hz and 180 Hz.

Fig. 9
figure 9

Top view of the scan points and the measurement times, t, at the different radii, r, used for the commissioning of the Compton Scanner. The solid and dashed black lines indicate the \(\langle 100\rangle \) and \(\langle 110\rangle \) crystallographic axes, respectively

The data acquisition system was not configured to build events at runtime. The two data streams from the germanium detector and from the pixelated camera were recorded independently and stored separately. For Compton Scanner measurements, only events with coincident energy depositions in the segBEGe detector and the pixelated camera are of interest. Both data streams were synchronized using 50 ns long rectangular voltage pulses which were generated by an integrated circuit in the camera in time intervals of 2 s and recorded by the ADC of the detector [37, p. 44f].

After synchronization, the time stamps of coincident events in the detector and the camera typically coincided within a few microseconds. Detector and camera events with no respective counterpart within 50 \(\upmu \hbox {s}\) in the camera or detector were discarded. This resulted in a rate of coincident events of around 35 Hz when irradiated in the center, and of around 140 Hz when irradiated close to the edge of the detector.

4.2 Event selection

Fig. 10
figure 10

Distribution of energies measured in the core of the segBEGe detector, \(E_\text {det}\), and in the pixelated camera, \(E_\text {cam}\), for coincident events during a 10 min Compton Scanner measurement on the \(\langle 100\rangle \) axis in segment 1 at \(r = 33.5\,\text {mm}\). Both axes are divided into bins of 5 keV. The solid lines indicate the region containing events with a sum energy of \(E_\text {det} + E_\text {cam} = (662\pm 8)\,\text {keV}\). The dashed lines indicate the energy range \(E_\text {det} = (373\pm 4)\,\text {keV}\), corresponding to perpendicularly scattered gammas in a setup with 80 mm long and 2 mm wide collimator slits

Fig. 11
figure 11

Schematic of the trajectory of a fully-contained gamma for a a single-site event and b a multi-site event in the germanium detector. Interaction points in the germanium detector and in the camera are shown as dots, the reconstructed interaction point using Eq. (2) is shown as a triangle, and possible candidates obtained from the Compton cone using only camera information are shown as crosses. In a, the dot, the triangle and one of the crosses overlap

The event selection for the creation of pulse shape libraries was performed using only coincident events. Events were selected if the energy in the segBEGe detector, \(E_\text {det}\), as determined from the core pulse [36] and the total energy detected in the pixelated camera, \(E_\text {cam}\), added up to the characteristic energy of the gammas from the \(^{137}\)Cs source, i.e. \(E_\text {det} + E_\text {cam} = (662 \pm 8)\,\text {keV}\). This selection of fully-contained events ensured that most of the events originated from gammas emitted by the \(^{137}\)Cs source and that the gammas did not undergo additional Compton scattering on their way from the segBEGe detector to the camera, e.g. off the cryostat wall or off the aluminum box of the pixelated camera.

Figure 10 shows a correlation plot for \(E_\text {det}\) and \(E_\text {cam}\) obtained from a 10 min measurement, for which the segBEGe detector was irradiated at \(r = 33.5\,\text {mm}\), i.e. at a distance of 4 mm to the edge. The diagonal line corresponds to fully-contained gammas from the \(^{137}\)Cs source and is densely populated. The fraction of fully-contained events varies from 10% when irradiated in the center to 30% when irradiated close to the detector edge. The lower fraction in the center arises from the higher probability that the scattered gamma is absorbed in the germanium detector. Figure 10 also demonstrates the power of accepting a wide range of Compton angles. Restricting the selection to only events with perpendicularly scattered gammas, i.e. \(E_\text {det} = (373\pm 4)\,\text {keV}\), would further reduce the statistics by a factor of around 40.

4.3 Data processing

The reconstruction of z presented in Sect. 2.1 applies only to events in which the gamma Compton scatters exactly once in the detector, i.e. single-site events. Equation (2) does not hold for events in which the gamma scatters multiple times in the detector, i.e. multi-site events. In these cases, the interaction point is misreconstructed and the pulses are attributed to the wrong z.

Misreconstructed pulses can be identified for events with two well-separated hits in the pixelated camera. This approach was inspired by the procedures employed for Compton cameras used to image gamma sources [43,44,45]. The reconstruction of the origin of a gamma requires an assumption on which of the camera hits was the first hit, i.e. the Compton scatter. According to the Monte Carlo simulation, the first hit is expected to be the one with the lower energy. The Compton angle, \(\alpha \), between the path of the gamma entering the camera and the line connecting both hits, see Fig. 11a, is calculated using Eq. (1). This requires replacing \(\theta \) by \(\alpha \), \(E_\text {in}\) by \(E_{\text {cam},1} + E_{\text {cam},2}\), and \(E_\text {out}\) by \(E_{\text {cam},2}\), where \(E_{\text {cam},1}\) and \(E_{\text {cam},2}\) are the energy deposited in the first and the second hit in the camera, respectively. Geometrically, \(\alpha \) and the line connecting the two hits define a Compton cone. The gamma entering the camera propagated along the surface of this Compton cone. Thus, the last interaction point of the gamma in the germanium detector has to lie on the surface of the Compton cone which intersects with the beam axis in up to two points, \(z_{\alpha ,1}\) and \(z_{\alpha ,2}\).

For single-site events, see Fig. 11a, there is only one interaction point in the germanium detector and it is located on the beam axis. The surface of the Compton cone intersects with the beam axis in this interaction point, i.e. \(z = z_\theta = z_\alpha \), where \(z_\alpha \) is either \(z_{\alpha ,1}\) or \(z_{\alpha ,2}\). For multi-site events, see Fig. 11b, the last interaction point in the germanium detector is typically not located on the beam axis. The surface of the Compton cone passes through the last interaction point of the gamma in the germanium detector and intersects with the beam axis in so-called ghost points. These ghost points are often outside of the germanium detector and typically none of them agrees with the misreconstructed interaction point, i.e. \(z_\theta \ne z_\alpha \).

Reconstructing \(z_\theta \) as described in Sect. 2.1 and demanding one of the \(z_{\alpha ,i}\) to agree with \(z_\theta \) within 2 mm allows to reject multi-site events without the need of pulse shape analysis. In the case that the reconstruction is rejected, the time order of the two hits is swapped. Only if both scenarios are rejected, the event is classified as a multi-site event and is discarded. The uncertainty of this validation is too large when the two hits in the camera are too close to each other. The method works reliably for events with a minimum distance of 3 mm between the two hits. This distance is also larger than 1.5 times the center-to-center distance of the anode pixels which ensures that the camera can reliably separate multiple hits from each other.

5 Creating a pulse shape library

Pulses from individual events are too noisy to create a pulse shape library suitable to perform pulse shape analysis. Thus, in the order of 100 pulses for each detector volume are desirable to form so-called superpulses, i.e. averaged pulses, which are less affected by statistical fluctuations and electronic noise.

Fig. 12
figure 12

Individual pulses from events assigned to the interaction point at \(r = 33.5\,\text {mm}\), \(\phi = 46.1^\circ \) and a reconstructed \(z = (20\pm 1)\,\text {mm}\), with one hit in the pixelated camera from a 10 min Compton Scanner measurement at a detector temperature of 85 K. All pulses are time-shifted such that the core pulses are aligned to 50% of their amplitude

5.1 Events with one hit in the camera

Figure 12 shows pulses from events with one hit in the camera from a 10 min measurement at a typical detector temperature of 85 K, for which the detector was irradiated at \(r~=~33.5\,\text {mm}\) and \(\phi ~=~46.1^\circ \), i.e. close to the \(\langle 100\rangle \) axis in segment 1. In total, 619 events were reconstructed at \(z = (20\pm 1)\,\text {mm}\). All pulses were shifted to a zero baseline and the tail of the pulses was corrected for the exponential decay of the charge in the preamplifiers [37]. In addition, the pulses were normalized by \(E_\text {det}\) as measured in the core. The pulses from any given event were collectively time-shifted such that the core pulses reached 50% of their final amplitude at the same time. Segment 1 is the collecting segment. The other segments show so-called mirror pulses which return to the baseline as soon as the charge carriers are collected at the contacts.

The shapes of the 619 pulses recorded in the core vary significantly. At the same time, the lengths of the pulses recorded in segment 1 show a wide spread. These variations result from misreconstructed events which most probably are multi-site events in the segBEGe detector. Especially the multiple turning points observed in some core pulses are known to be an indication for multi-site events [13, 14]. As events with only one hit in the camera do not allow for a validation of the reconstructed interaction point, it is expected that some events are assigned to the wrong z. The pulses from these events should not enter the averaging to create superpulses.

Fig. 13
figure 13

Individual pulses from events assigned to the interaction point at \(r = 33.5\,\text {mm}\), \(\phi = 46.1^\circ \) and a reconstructed \(z = (20\pm 1)\,\text {mm}\), using only events with two hits in the pixelated camera that passed the Compton cone validation, see Sect. 4.3, from a 10 min Compton Scanner measurement at a detector temperature of 85 K. All pulses are time-shifted such that the core pulses are aligned to 50% of their amplitude. Shown in black are the superpulses

5.2 Events with two hits in the camera

Events with two hits in the camera, which additionally passed the Compton cone validation presented in Sect. 4.3, were collected for all volumes. Figure 13 shows all pulses from validated events with two hits in the camera for the same volume as considered for Fig. 12. From the same 10 min measurement, only six pulses remain. In contrast to Fig. 12, the lengths and shapes of all pulses agree except for statistical fluctuations. This verifies the selection. The solid black lines in Fig. 13 are the superpulses from the six events for the individual contacts.

There are rare cases, in which events are falsely validated. Thus, an additional similarity cut is performed on all events with two hits in the camera. Only events, for which the pulses in the core and the collecting segment agreed within \(\chi ^2/\text {ndf} \le 3\) with the respective superpulses formed from all events were kept. Here, \(\chi ^2/\text {ndf}\) is determined from the 201 samples in the 800 ns long signal window shown in Fig. 13:

$$\begin{aligned} \dfrac{\chi ^2}{\text {ndf}} = \dfrac{1}{200}\sum \limits _{t = t_0}^{t_0 + 800\,\text {ns}} \dfrac{(q(t) - Q(t))^2}{\sigma ^2} \end{aligned}$$
(7)

where \(t_0\) is the beginning of the signal window, q(t) and Q(t) are the values of the individual pulse and the superpulse at time t, respectively, and \(\sigma \) is the root mean square of the individual pulse as determined from the baseline. This similarity cut had no effect on measurements close to the edge but resulted in the rejection of individual events close to the center of the detector.

5.3 Final superpulses

When considering only events with two hits in the camera, the number of pulse shapes is not sufficient to reduce the influence of noise effectively enough by averaging. Although the resulting superpulses are less noisy compared to the individual pulses, the effect of the noise is still too large to observe small features in the pulse shapes, see Fig. 13.

The two-hit superpulses were used to identify the misreconstructed events with one hit in the camera. Many core pulses from events with one hit in the camera are similar to the superpulses obtained from two-hit events. One-hit events were used if individual core and collecting-segment pulses passed a strict similarity cut of \(\chi ^2/\text {ndf} \le 1\) with respect to the two-hit event superpulses.

Fig. 14
figure 14

Pulses from events assigned to the interaction point at \(r = 33.5\,\text {mm}\), \(\phi = 46.1^\circ \) and a reconstructed \(z = (20\pm 1)\,\text {mm}\), with two hits in the camera or with one hit in the camera and selected as described in Sect. 5.3. All pulses are time-shifted such that the core pulses are aligned to 50% of their amplitude. Shown in black are the superpulses

The selected pulse shapes from events with one hit in the camera, together with the validated two-hit events, are shown in Fig. 14. For this measurement, 132 out of the 619 one-hit events survived the similarity cut. By combining the pulses from validated two-hit events and the pulses from similar one-hit events, combined superpulses were obtained for the core and each of the four segments, shown as black lines in Fig. 14. These superpulses are significantly less affected by noise and form a high-quality pulse shape library.

6 Validation of the Compton reconstruction

To validate the spatial reconstruction in z, pulses at a source position of \(\phi = 46.1^\circ \) and \(r = 35.5\,\text {mm}\), i.e. on the \(\langle 100\rangle \) axis and 2 mm away from the mantle surface, were compared to pulses from a measurement where the side of the detector was irradiated with 80.997 keV gammas from a \(^{133}\)Ba source.

For this measurement, a collimated 1 MBq \(^{133}\)Ba source was mounted onto the vertical motor stage of the Compton Scanner frame, see Fig. 2. Most of the 80.997 keV gammas interact with germanium via the photoelectric effect with a mean free path of 2.68 mm [32]. Averaging pulses with an energy of \((81\pm 2)\,\text {keV}\) allows to create reference superpulses originating from the first few millimeters underneath the surface. Note that the distribution of events in the \(^{133}\)Ba measurement in r is slightly different from that in the Compton Scanner. It decreases exponentially with increasing distance to the surface while the Compton Scanner events are expected to uniformly spread around \(r = 35.5\,\text {mm}\) with a FWHM of around 1.4 mm, see Fig. 5a.

Fig. 15
figure 15

Superpulses of events assigned to interaction points on the \(\langle 100\rangle \) axis in segment 1 of the segBEGe detector for different z as given in the legend at a detector temperature of 78 K. The solid lines depict superpulses from a Compton Scanner measurement at \(\phi ~=~46.1^\circ \) and \(r = 35.5\,\text {mm}\). The dashed lines depict \((81\pm 2)\,\text {keV}\) superpulses from \(^{133}\)Ba measurements at \(\phi ~=~47.2^\circ \). All pulses are time-shifted such that the core pulses are aligned to 70% of their amplitude

Figure 15 shows an overlay of Compton superpulses for different z from a 10 min measurement at a source position of \(\phi = 46.1^\circ \) and \(r = 35.5\,\text {mm}\) and \((81\pm 2)\,\text {keV}\) superpulses from the \(^{133}\)Ba measurement where the detector was irradiated from the side at \(\phi = 47.2^\circ \) at different z in steps of 4 mm. In general, the pulses from the different scanning methods are in excellent agreement. The residuals are at the percent level and most probably arise from the \(1.1^\circ \) offset in \(\phi \), a slightly different distribution of events in r, which are used in the superpulse creation, a slightly different cross-talk behavior, as well as an uncertainty of 1 K on the temperature of the cryostat K2.

The core superpulses in Fig. 15 show a small but significant dependence on z at the beginning of the pulse. This difference can be studied in more detail using the 5−95% rise times, \(t_r\), i.e. the time difference between the pulse reaching 5% and 95% of its final amplitude. Due to electronic noise and the sampling time of 4 ns, determining \(t_r\) for individual pulses would lead to uncertainties of the order of 10 to 20 ns. Thus, \(t_r\) is determined from the final superpulses from the Compton Scanner and \(^{133}\)Ba measurement in Fig. 15, which allows for significantly smaller uncertainties of the order of 2 ns, see Fig. 16. These uncertainties were estimated from the variation of \(t_r\) from auxiliary superpulses created from only a subset of the pulses that form the final superpulse.

Fig. 16
figure 16

5−95% rise times, \(t_r\), as determined from core superpulses for the same source position and detector temperature as the pulses in Fig. 15. Vertical error bars and confidence bands correspond to deviations from \(t_r\) when determining the rise times from superpulses of only a subset of pulses. Horizontal error bars correspond the z range used to determine Compton superpulses

According to the reference core superpulses from the \(^{133}\)Ba measurement, \(t_r\) only changes significantly in the region of z between 16 and 34 mm. In this region, \(t_r\) of the core superpulses from the Compton Scanner measurement match those from the \(^{133}\)Ba measurement. Above and below this region, \(t_r\) is basically constant and, thus, not sensitive to changes in z. This behavior is also well reproduced by the Compton superpulses. At the top and the bottom of the detector, the statistics in Compton Scanner measurements is reduced compared to the middle height of the detector at \(z = 20\,\text {mm}\), resulting in slightly noisier pulses. This could explain why the absolute values in those regions \(t_r\) are seen to differ slightly from those from the \(^{133}\)Ba measurement.

In principle, choosing a lower threshold for the rise time than 5% should increase the sensitivity. However, due to the difference in the spatial distribution of events that enter the superpulse formation, the superpulses from the \(^{133}\)Ba measurement are expected to be slightly longer in the part of the pulse below the 2% amplitude. This artifact resulting in a difference in \(t_r\) is avoided by setting the lower threshold of the rise time well above 2%.

In conclusion, the excellent agreement of the pulses in Fig. 15 and the core rise times in Fig. 16 verify the spatial reconstruction in z. As an additional cross-check, a second CdZnTe camera, installed at a 45\(^{\circ }\) angle next to the first one, was irradiated from the top with the collimated gamma beam from the \(^{137}\)Cs source and the events were reconstructed using events with a single hit in each of the cameras. Then, the reconstructed \(z_\theta \) were compared to the measured z values from the second camera. Here, the resolution in \(\varDelta z\) was measured to be \(3.2\,\text {mm}\) FWHM. An even better \(\varDelta z\) resolution is expected for the measurements on detectors installed in the center of the Compton Scanner frame.

7 Comparison to simulated bulk pulses

For an additional comparison, pulses originating from the reconstructed volumes were simulated using the open-source software package SolidStateDetectors.jl [17]. For the simulation, the impurity density of the germanium detector was set to 90% of the values given by the manufacturer [36], assuming a linear gradient in z, to properly describe the observed depletion voltage. The charges were drifted according to the default electron and hole drift models from SolidStateDetectors.jl [17, App. A], which are based on literature values for the electron and hole mobilities along the \(\langle 100\rangle \) and \(\langle 111\rangle \) axes at 78 K [46] and theoretical models that determine the anisotropy of the charge drift in between [47]. The simulated raw pulses were convolved with the corresponding preamplifier response functions to account for the limited bandwidths of the preamplifiers. In addition, linear and differential cross-talk between the contacts was taken into account [37].

Different interaction points in the germanium detector lead to different charge drift paths. Thus, the pulse shapes depend characteristically on the position of the interaction point. In the n-type segBEGe detector, the electrons drift towards the core contact while the holes are collected at the segment contacts. At the center height of the detector, i.e. at \(z=20\,\text {mm}\), the electric field in the segBEGe detector points primarily inwards in r-direction [17, 36]. Thus, on the \(\langle 100\rangle \) axis, the electrons are expected to drift almost horizontally towards the center of the detector along the \([{\bar{1}}00]\) direction before being pulled upwards towards the core contact along the [001] direction. The holes are expected to drift horizontally outwards along the [100] direction.

Fig. 17
figure 17

Superpulses of events assigned to interaction points on the \(\langle 100\rangle \) axis in segment 1 of the segBEGe detector at \(\phi = 46.1^\circ \), \(z = 20\,\text {mm}\) and different r as given in the legend at a detector temperature of 78 K. The solid lines depict Compton superpulses determined as described in Sect. 5.3. The dashed lines depict pulses simulated with SolidStateDetectors.jl [17]. For the simulation, the impurity density was set to 90% of the values given by the manufacturer [36]. The preamplifier bandwidths and contributions from linear and differential cross-talk were added to the pulses [37]. All pulses are time-shifted such that the core pulses are aligned to 70% of their amplitude

Figure 17 shows measured and simulated pulses assigned to interaction points at \(z=(20\pm 1)\,\text {mm}\) on the \(\langle 100\rangle \) axis in segment 1 for r between 11.5 mm and 35.5 mm. Close to the mantle surface, the simulated pulses qualitatively agree with the measured superpulses, especially the one at \(r = 35.5\,\text {mm}\), for which the simulation was previously verified using surface events [17]. The simulation indicates that the paths of the final upward drift of the electrons are almost equal for all of these events. This results in the last parts of the simulated pulses being equal for all \(r \ge 11.5\,\text {mm}\).

The most significant dependence of the core pulse shapes on r is seen at the beginning of the rise of the pulses. As r decreases, the lengths of the pulses decrease. This is due to the electron drift paths getting shorter and the electrons being collected earlier. Close to the mantle surface, the change in the shape of the first parts of the pulses of the collecting and non-collecting segments is well described by the simulation. The observation that the characteristic rise at the end of the core pulses is identical for all \(r \ge 15.5\,\text {mm}\) implies that the holes are already collected at the segment contacts before the electrons reach the vicinity of the core contact. However, at \(r = 11.5\,\text {mm}\), the final part of the pulse deviates from the characteristic shape observed for larger r, implying that the electrons are collected at the core contact before the holes reach the segment contacts. This is not predicted by the simulation. For \(r \le 7.5\,\text {mm}\), the holes drift mostly downwards and are collected on the closed bottom end-plate of segment 4 instead of on segment 1.

With decreasing r, the predictions for the pulse lengths and mirror pulse amplitudes disagree more from the data, implying that the charge drift in the bulk of the detector is not well modeled by the simulation. Especially for events at \(r \le 19.5\,\text {mm}\), where the outwards drift of the holes has a larger contribution, the amplitudes of the mirror pulses are smaller than predicted by the simulation. This shows the power of the Compton Scanner setup presented in this paper to test the models used in the simulation, e.g. the assumed model for the impurity density profile of the germanium crystal and the charge drift models for electrons and holes.

8 Summary and outlook

A novel Compton Scanner setup to investigate bulk events in germanium detectors has been presented in this paper. It is based on detecting Compton scattered gammas using an energy- and position-sensitive camera, which allows for detecting a wider range of Compton angles in comparison to Compton Scanner setups using slit collimators.

The Compton Scanner was commissioned with an n-type segmented point-contact germanium detector, for which pulse shape libraries at different temperatures were collected. Monte Carlo simulations indicate that pulses in the bulk of the detector can be successfully reconstructed with a FWHM resolution of less than \(\pm 1\,\text {mm}\) along the beam direction. The spatial reconstruction was validated by a comparison with measured surface pulses from a \(^{133}\)Ba measurement. In addition, pulses measured with the Compton Scanner were compared to bulk pulses simulated using SolidStateDetectors.jl for drifts along the \(\langle 100\rangle \) crystallographic axis at the middle height of the detector. For such drifts, the simulation is most reliable. The simulated pulses describe the trends of the measured pulses close to the surface quite well. Deviations for pulses resulting from events in the bulk of the detector indicate that simulations need to be tested and tuned with the data from the Compton Scanner. A systematic analysis is planned for all axes and for different temperatures.

In order to further decrease the measurement times, the Compton Scanner will be upgraded by installing a second pixelated camera at a 45\(^{\circ }\) angle next to the first one. This will increase the statistics by almost a factor of two. Future Compton Scanner measurement campaigns are planned with a p-type segmented point-contact detector [37], an inverted coaxial point-contact detector [48] and a segmented true-coaxial detector [49]. Pulse shape libraries from different detectors will also be used to characterize pulse shape discrimination algorithms for rare-event searches using germanium detectors.