Skip to content

Draft: Allow Definition of 3D Implants

Simon Spannagel requested to merge implant_offset into master

Status Quo

Currently, there is the possibility to define 2D implants at the sensor surface, and the transfer modules allow to collect charge carriers either from the full pixel area or only from these defined areas. The depth is governed by the max_depth_distance parameter of the transfer modules. Propagation only ends at sensor surface.

New Features

This MR implements three-dimensional implants, which can for example be used to simulate 3D sensors. With the current implementation, both the definition of 2D implants (essentially regions on the sensor surface) and 3D implants (as volumes in the sensor material) is possible. Features:

  • New method DetectorModel::isWithinImplant() allows to check for charge carrier positions within implants to stop propagation
  • Additional depth parameter of the method is used in case only 2D implants are defined - not sure if this is the most beautiful implementation, but it reduces code complexity especially in the transfer modules where we need to distinguis
    • 3D implant collection
    • 2D implant collection with max_depth_distance parameter
    • Collection from full sensor surface with max_depth_distance
  • New methods DetectorModel::getSensorIntercept() and DetectorModel::getImplantIntercept() allow to find the intercept point with the respective surface given one point inside and one outside the volume. This implements a Liang-Barsky line clipping method for the efficient interception of a box with a line segment. Here, the order of the points is important since only intersections in the positive direction are considered. This replaces the hard-coded interpolations performed up to now in the propagation modules.
  • 3D implants are implemented also in the G4 geometry construction and can be filled with any material available.

To Dos

  • Should we shift the interpolated surface points by a nm in order for them to stay within the respective volumes? This would make later selection based on their position a bit more robust I guess?
  • Testing - possibly also with an actual 3D sensor electric field. It would be great to see some line graphs for this type of sensor
  • Follow-up: backside implants - required for ohmic columns
  • Check implementation for radial-strip detector (cc @rprivara )

Fixes #65 (closed)

Edited by Simon Spannagel

Merge request reports