allpix::ImpactIonizationModel
Impact ionization models.
#include <ImpactIonization.hpp>
Inherited by allpix::Bologna, allpix::CustomGain, allpix::Massey, allpix::NoImpactIonization, allpix::OkutoCrowell, allpix::VanOverstraetenDeMan
Public Functions
Name | |
---|---|
ImpactIonizationModel(double threshold) | |
virtual | ~ImpactIonizationModel() =default |
virtual double | operator()(const CarrierType & type, double efield_mag, double step) const |
Protected Functions
Name | |
---|---|
virtual double | gain_factor(const CarrierType & type, double efield_mag) const =0 |
Protected Attributes
Name | |
---|---|
double | threshold_ |
Public Functions Documentation
function ImpactIonizationModel
inline explicit ImpactIonizationModel(
double threshold
)
Parameters:
- threshold Threshold electric field for impact ionization
Default constructor
function ~ImpactIonizationModel
virtual ~ImpactIonizationModel() =default
Default virtual destructor
function operator()
inline virtual double operator()(
const CarrierType & type,
double efield_mag,
double step
) const
Parameters:
- type Type of charge carrier (electron or hole)
- efield_mag Magnitude of the electric field
- step Length of the current step
Return: Gain generated by impact ionization in this step
Reimplemented by: allpix::NoImpactIonization::operator()
Function call operator to obtain gain value for the given carrier type and electric field magnitude
Protected Functions Documentation
function gain_factor
virtual double gain_factor(
const CarrierType & type,
double efield_mag
) const =0
Reimplemented by: allpix::NoImpactIonization::gain_factor, allpix::Massey::gain_factor, allpix::VanOverstraetenDeMan::gain_factor, allpix::OkutoCrowell::gain_factor, allpix::Bologna::gain_factor, allpix::CustomGain::gain_factor
Protected Attributes Documentation
variable threshold_
double threshold_ {std::numeric_limits<double>::max()};
Updated on 2024-12-13 at 08:31:36 +0000