PulseTransfer

Transfer of pulse information to the electronics
Status Functional
Maintainers Simon Spannagel (simon.spannagel@cern.ch)
Input Objects PropagatedCharge
Output Objects PixelCharge

Description

This module combines propagated charges into pulses at individual pixel implants. It works in two different modes.

If the propagated charges provide pulse information themselves, e.g. generated by the TransientPropagation module, these pulses are summed for each pixel implant.

If the propagated charges do not contain pulse information, pulses are formed using the charge carrier arrival times at the pixel implants. This necessitates the configuration of the time granularity via the timestep parameter as well as the region from which charge carriers are accepted via max_depth_distance. It should be noted that this does not represent a time-resolved simulation of the signal formation but can only serve as approximation. Furthermore, by the restriction to the implant regions by enabling collect_from_implant, only the charge carrier type collected at the implants is taken into account. In case no implants are defined, charge carriers are collected from the pixel surface and the parameter max_depth_distance can be used to control the depth from which charge carriers are taken into account.

Combines individual induced charge pulses generated by propagated charges to one total pulse per pixel. This prepares the pulse for processing in the front-end electronics.

Pulse graph for every pixel seeing a signal is generated if output_pulsegraphs is enabled. One graph depicts the induced charge per time step of the simulation, i.e. the current, while the second graph shows the accumulated charge since the beginning of the event. A third graph provides the absolute induced charge per time, disregarding the polarity of the respective signal. It should be noted that generating per-pixel pulses will generate several pulse graphs per event and might result in a slow-down of the simulation process as well as a large module root file.

Parameters

  • output_plots : Determines if simple output plots such as the total and per-pixel induced charge should be generated for a monitoring of the simulation flow. Disabled by default.
  • output_plots_scale : Set the x-axis scale of the output histograms, defaults to 30ke.
  • output_plots_bins : Set the number of bins for the output histograms, defaults to 100.
  • output_pulsegraphs: Determines if pulse graphs should be generated for every event. This creates several graphs per event, depending on how many pixels see a signal, and can slow down the simulation. It is not recommended to enable this option for runs with more than a couple of events. Disabled by default.
  • timestep: Time step for the pulse to be generated from charge carrier arrival times. Only used if no pulse information is available for the propagated charge object. Default value is 0.01ns.
  • max_depth_distance : Maximum distance in depth, i.e. normal to the sensor surface at the implant side, for a propagated charge to be taken into account in case the detector has no implants defined. Only used if no pulse information is available for the propagated charge object. Defaults to 5um.
  • collect_from_implant: Only consider charge carriers within the implant region of the respective detector instead of the full surface of the sensor. Only used if no pulse information is available for the propagated charge object. Should only be used with non-linear electric fields and defaults to false.

Usage

The default configuration is equal to the following:

[PulseTransfer]