Commit 423dcba3 authored by Simon Spannagel's avatar Simon Spannagel Committed by Håkan Wennlöf
Browse files

Fixed spelling of P

parent d0d72faf
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -235,7 +235,7 @@ C_{s,e} &= 3.43\times 10^{20} \,\text{cm}^{-3} \\
```

This model can be selected in the configuration file via the parameter `mobility_model = "masetti"`, and the n-dopant can be 
selected via the parameter `dopant_n`. Possible values for the n-dopant are arsenic and phoshorous, with phosphorous being 
selected via the parameter `dopant_n`. Possible values for the n-dopant are arsenic and phosphorus, with phosphorus being 
the default.

## Arora Model
@@ -293,7 +293,7 @@ where $`\mu_{m}(N)`$ is the mobility from the [Masetti model](#masetti-model) an
parameters from the [Canali model](#jacoboni-canali-model).

This model can be selected in the configuration file via the parameter `mobility_model = "masetti_canali"`, and the n-dopant 
can be selected via the parameter `dopant_n`. Possible values for the n-dopant are arsenic and phoshorous, with phosphorous 
can be selected via the parameter `dopant_n`. Possible values for the n-dopant are arsenic and phosphorus, with phosphorus 
being the default.

## Ruch-Kino Model
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ namespace allpix {
     * @brief Type of dopant
     */
    enum class Dopant {
        PHOSPHOROUS = 0,
        PHOSPHORUS = 0,
        ARSENIC,
    };

+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ This module requires an installation of Eigen3.

## Parameters
* `temperature` : Temperature of the sensitive device, used to estimate the diffusion constant and therefore the strength of the diffusion. Defaults to room temperature (293.15K).
* `mobility_model`: Charge carrier mobility model to be used for the propagation. Defaults to `jacoboni`, a list of available models can be found in the documentation. If the `masetti` or `masetti_canali` is used, the `dopant_n` parameter can be used to set the n-dopant to either phosphorous (default) or arsenic.
* `mobility_model`: Charge carrier mobility model to be used for the propagation. Defaults to `jacoboni`, a list of available models can be found in the documentation. If the `masetti` or `masetti_canali` is used, the `dopant_n` parameter can be used to set the n-dopant to either phosphorus (default) or arsenic.
* `recombination_model`: Charge carrier lifetime model to be used for the propagation. Defaults to `none`, a list of available models can be found in the documentation. This feature requires a doping concentration to be present for the detector.
* `trapping_model`: Model for simulating charge carrier trapping from radiation-induced damage. Defaults to `none`, a list of available models can be found in the documentation. All models require explicitly setting a fluence parameter.
* `fluence`: 1MeV-neutron equivalent fluence the sensor has been exposed to.
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ module_ouput: "PropagatedCharge"
## Description
Simulates the transport of electrons and holes through the sensitive sensor volume of the detector. It allows to propagate sets of charge carriers together in order to speed up the simulation while maintaining the required accuracy. The propagation process for these sets is fully independent and no interaction is simulated. The maximum size of the set of propagated charges and thus the accuracy of the propagation can be controlled via the `charge_per_step` parameter. The maximum number of charge groups to be propagated for a single deposit position can be controlled via the `max_charge_groups` parameter.

The propagation consists of a combination of drift and diffusion simulation. The drift is calculated using the charge carrier velocity derived from the charge carrier mobility and the magnetic field via a calculation of the Lorentz drift. The mobility model can be chosen using the `mobility_model` parameter, and a list of available models can be found in the user manual. If the `masetti` or `masetti_canali` is used, the `dopant_n` parameter can be used to set the n-dopant to either phosphorous (default) or arsenic.
The propagation consists of a combination of drift and diffusion simulation. The drift is calculated using the charge carrier velocity derived from the charge carrier mobility and the magnetic field via a calculation of the Lorentz drift. The mobility model can be chosen using the `mobility_model` parameter, and a list of available models can be found in the user manual. If the `masetti` or `masetti_canali` is used, the `dopant_n` parameter can be used to set the n-dopant to either phosphorus (default) or arsenic.
This module implements charge multiplication by impact ionization. The multiplication model can be chosen using the `multiplication_model` parameter, the list of available models can be found in the user manual. By default, the model defaults to `none` and impact ionization is switched off, generating unity gain.
To simulate impact ionization, the number of newly generated electron-hole pairs is calculated for every propagation step and every charge carrier in the group, based on drawing a random number from a geometric distribution. This represents a stepwise approach to the avalanche generation process. The charge of a charge group is increased by the number of impact ionization processes per step and opposite-type charge carriers are generated at the end of the step.

+2 −2
Original line number Diff line number Diff line
@@ -622,10 +622,10 @@ namespace allpix {
                    model_ = std::make_unique<HamburgHighField>(material, temperature);
                } else if(model == "masetti") {
                    model_ = std::make_unique<Masetti>(
                        material, temperature, doping, config.get<Dopant>("dopant_n", Dopant::PHOSPHOROUS));
                        material, temperature, doping, config.get<Dopant>("dopant_n", Dopant::PHOSPHORUS));
                } else if(model == "masetti_canali") {
                    model_ = std::make_unique<MasettiCanali>(
                        material, temperature, doping, config.get<Dopant>("dopant_n", Dopant::PHOSPHOROUS));
                        material, temperature, doping, config.get<Dopant>("dopant_n", Dopant::PHOSPHORUS));
                } else if(model == "arora") {
                    model_ = std::make_unique<Arora>(material, temperature, doping);
                } else if(model == "ruch_kino") {