Commit d8840fed authored by Simon Spannagel's avatar Simon Spannagel
Browse files

markdownlint readmes

parent 876b72cf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -209,7 +209,7 @@ For more details refer to the [code reference](https://allpix-squared.docs.cern.

The pulse object is a meta class mainly used to hold the time information of a charge pulse arriving at the collection
implant, if such information is available in the simulation. A pulse object always has a fixed time binning chosen during the
creation of the object. It inherits from [std::vector<double>](https://en.cppreference.com/w/cpp/container/vector).
creation of the object. It inherits from [`std::vector<double>`](https://en.cppreference.com/w/cpp/container/vector).

Main parameters:

+10 −0
Original line number Diff line number Diff line
@@ -13,22 +13,29 @@ module_outputs: ["PixelHit"]

Digitization module which translates the collected charges into a digitized signal, emulating a charge sensitive amplifier with Krummenacher feedback.
For this purpose, a transfer function for a CSA with Krummenacher feedback is taken from \[[@kleczek]\]:

```math
H(s) = \frac{R_f}{(1 + \tau_f s) \cdot (1 + \tau_r s)},
```

with fall time constant

```math
\tau_f = R_f C_f
```

and rise time constant

```math
\tau_r = \frac{C_{det} \cdot C_{out}}{g_m \cdot C_f}
```

The impulse response function of this transfer function is convoluted with the charge pulse. In the time domain, the impulse response function can be written as

```math
\mathcal{L}^{-1}(H) = R_f \left( \frac{e^{-t/\tau_f}}{\tau_f - \tau_r} - \frac{e^{-t/\tau_r}}{\tau_f - \tau_r} \right).
```

This module can be steered by either providing all contributions to the transfer function as parameters within the `csa` model, or using a simplified parametrization providing rise time and feedback time.
In the latter case, the parameters are used to derive the contributions to the transfer function (see e.g. \[[@binkley]\] for calculation of transconductance).

@@ -82,6 +89,7 @@ If this behavior is not desired, the `ignore_polarity` parameter can be set to c
## Usage

Example how to use the `csa` model in this module:

```ini
[CSADigitizer]
model = "csa"
@@ -98,6 +106,7 @@ sigma_noise = 0.1e-3V
```

Example for the `simple` model:

```ini
[CSADigitizer]
model = "simple"
@@ -111,6 +120,7 @@ clock_bin_tot = 25.0ns
```

Example for the `custom` model:

```ini
[CSADigitizer]
model = "custom"
+3 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ module_outputs: ["PixelHit"]
---

## Description

Simple digitization module which translates the collected charges into a digitized signal proportional to the input charge. It simulates noise contributions from the readout electronics as Gaussian noise and allows for a configurable threshold. Furthermore, the linear response of an QDC as well as a TDC with configurable resolution can be simulated.
For maximum simplicity only the absolute of the charge is used and compared to a positive threshold.

@@ -55,6 +56,7 @@ In addition, the distribution of the actually applied threshold is provided as h


## Parameters

* `threshold` : Threshold for considering the collected charge as a hit (No default value; required parameter).
* `threshold_smearing` : Standard deviation of the Gaussian uncertainty in the threshold charge value. Defaults to 30 electrons.
* `electronics_noise` : Standard deviation of the Gaussian noise in the electronics (before amplification and application of the threshold). Defaults to 110 electrons.
@@ -81,6 +83,7 @@ In addition, the distribution of the actually applied threshold is provided as h


## Usage

The default configuration is equal to the following:

```ini
+1 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ and temporal distribution.


## Usage

A simulation pipeline to build an analog detector response would include `DepositionLaser`, `TransientPropagation` and
`PulseTransfer`.
Usually it is enough to run just a single event (or a few).
+3 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ module_outputs: ["PixelCharge"]
---

## Description

Combines individual sets of propagated charges together to a set of charges on the sensor pixels by calculating the total induced charge during their drift on neighboring pixels by calculating the difference in weighting potential.
This module requires a propagation of both electrons and holes in order to produce sensible results and only works in the presence of a weighting potential.

@@ -23,9 +24,11 @@ Q_n^{ind} = \int_{t_{initial}}^{t_{final}} I_n^{ind} = q \left( \phi (x_{final})
The resulting induced charge is summed for all propagated charge carriers and returned as a `PixelCharge` object. The number of neighboring pixels taken into account can be configured using the `distance` parameter.

## Parameters

* `distance`: Maximum distance of pixels to be considered for current induction, calculated from the pixel the charge carrier under investigation is below. A distance of `1` for example means that the induced current for the closest pixel plus all neighbors is calculated. It should be noted that the time required for simulating a single event depends almost linearly on the number of pixels the induced charge is calculated for. Usually, for Cartesian sensors a 3x3 grid (9 pixels, distance 1) should suffice since the weighting potential at a distance of more than one pixel pitch often is small enough to be neglected while the simulation time is almost tripled for `distance = 2` (5x5 grid, 25 pixels). To just calculate the induced current in the one pixel the charge carrier is below, `distance = 0` can be used. Defaults to `1`.

## Usage

```ini
[InducedTransfer]
distance = 1
Loading