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