KAHIBARO
Discord Login Register

33.6. Photodetectors

Simplified SiPM simulation

In many Geant4 optical simulations, you do not need to model a full, microscopic silicon photomultiplier (SiPM) or photomultiplier tube (PMT). Instead, you can treat the photodetector as a simplified surface or volume that counts optical photons and applies basic detection probabilities and timing effects. This approach is much faster and is usually sufficient for studying detector response, energy resolution, or timing.

A simplified SiPM in Geant4 is usually represented as a thin detector volume placed next to a scintillator or light guide. The geometry of the internal microcells is not modeled. Instead, you define an active area with realistic size and position, and use a sensitive detector to convert arriving optical photons into electronic signals in a parametric way.

You typically choose a material for the SiPM volume that does not transport optical photons further, for example by giving it a very short absorption length so that any photon entering is quickly absorbed. The important part is not the detailed physics in silicon, but the fact that a photon has reached the SiPM surface. Once the photon is inside the SiPM volume and a step deposits energy, your sensitive detector can register a hit and decide, probabilistically, whether this photon is detected.

To connect the optical photons from the scintillator to the SiPM, you usually define an optical surface between the scintillator and the SiPM. This surface can represent coupling gel, an interface between two refractive indices, or a partially reflective boundary. The surface determines how many photons actually enter the SiPM volume, through reflection or transmission probabilities. The SiPM detection model then acts on those photons that successfully cross this interface.

In a simplified simulation, you can ignore detailed wavelength dependence of the SiPM and treat detection as a single number: the photon detection efficiency, or PDE. The PDE is the probability that an optical photon that reaches the active area produces a detectable signal. If you need more realism, you can make the PDE depend on the photon energy using the photon wavelength, and you can also include geometrical fill factor by adjusting the effective PDE.

To mimic the granularity of a real SiPM, you may give each detector element its own logical volume and sensitive detector ID. Each of these volumes can represent one crystal coupled to one SiPM, or one group of microcells. The sensitive detector then records which element fired, which supports later reconstruction of positions and energy distribution, without ever simulating individual microcells.

You can also approximate the time response of the SiPM. When a photon is detected, you can record the global time of the optical photon and later smear it with a Gaussian time resolution in the analysis phase. This captures effects like transit time spread without requiring low level modeling of carrier transport in silicon.

A simplified SiPM model in Geant4 usually:

  1. Treats the SiPM as a single absorbing volume with an active area.
  2. Uses an optical surface to control how many photons reach that area.
  3. Applies a photon detection efficiency probability to arriving photons.
  4. Records only the detected photons and their times, not the full silicon physics.

Because this model is purely parametric, it is important to choose parameters like PDE, time resolution, and dark count rate based on measurements or manufacturer data sheets. The simulation then becomes a tool to study how the detector behaves in a larger system, such as a PET ring or a calorimeter, rather than a microscopic simulation of the SiPM itself.

Photon detection

Photon detection in a simplified photodetector model is implemented through Geant4 sensitive detectors and hits, triggered by optical photons reaching the detector volume. The key idea is to treat each optical photon that arrives at the photodetector as a candidate for detection, then decide probabilistically whether it generates a hit.

In practice, you assign a sensitive detector to the logical volume that represents the photodetector. When an optical photon takes a step inside this volume, Geant4 calls the ProcessHits() method of your sensitive detector. Inside this method you can inspect the step, check that the particle is an optical photon, and then apply your detection model.

The simplest detection rule is to detect every absorbed optical photon. In that case, whenever the optical photon is stopped in the detector volume, you create a hit. The hit can store the detection time, which you can obtain from the track global time, and the position of the interaction point from the step post step point. This already gives you a basic model of time and position of detected photons.

To be more realistic, you include a finite detection probability. Let $P_{\text{det}}$ be the photon detection efficiency. For each absorbed optical photon, you generate a random number $r$ uniformly in the interval $(0, 1)$. If $r < P_{\text{det}}$, you record a hit. Otherwise, you treat the photon as not detected and do not create a hit. This introduces statistical fluctuations that are essential for realistic energy and timing resolution.

A simple photon detection rule can be written as:
If a photon is absorbed in the detector volume, generate a random number $r \in (0, 1)$.
If $r < P_{\text{det}}$ then the photon is detected.
If $r \ge P_{\text{det}}$ then the photon is not detected.
Here $P_{\text{det}}$ is the photon detection efficiency.

The value of $P_{\text{det}}$ can be constant or depend on photon energy. The photon energy $E$ is related to its wavelength $\lambda$ by the formula
$$
E = \frac{hc}{\lambda},
$$
so if you have a PDE curve as a function of wavelength, you can convert and store it as a function of energy, and then apply an energy dependent detection probability. For each optical photon, you read its kinetic energy, compute the corresponding PDE from your function, and test detection accordingly.

Timing is handled by storing the photon arrival time. You can take the global time from the track at the interaction point and store it in the hit. In later analysis you can apply additional time smearing to represent detector timing resolution. For example, if the intrinsic timing resolution has standard deviation $\sigma_t$, you can replace the raw time $t$ with a smeared time $t' = t + \Delta t$, where $\Delta t$ is drawn from a Gaussian distribution with mean zero and standard deviation $\sigma_t$.

Besides the arrival time, the hit can contain other useful information such as the detector element ID, which identifies which photodetector volume fired, and possibly the number of detected photons in that element for the event. Summing the number of detected photons across all elements provides an approximation of the signal amplitude, which you can convert to an energy estimate if you know the light yield and PDE.

If you want to model dark counts or noise in a simple way, you do not need to simulate fake optical photons. Instead, you can add additional hits directly in the analysis stage, at random times, based on a dark count rate. The simulated optical hits from Geant4 represent true photon detections, and the analysis adds random noise hits on top.

Using these techniques, photon detection in Geant4 becomes a process where optical photons are transported physically through materials and surfaces, but the conversion to electronic signals is modeled statistically and recorded through hits. This balance between physical transport and probabilistic detection gives you a realistic yet efficient description of photodetector behavior suitable for many detector studies.

Views: 8

Comments

Please login to add a comment.

Don't have an account? Register now!