HerdSoftware  0.4.0
Public Member Functions | Private Attributes | List of all members
Herd::ScdDigitizationTools::ScdGaussianNonLinearChargePacket Class Reference

Class to describe a charge packet that diffuses with a simple gaussian profile. More...

#include <algorithms/digitization/ScdDigitizationTools/ScdGaussianNonLinearChargePacket.h>

Inheritance diagram for Herd::ScdDigitizationTools::ScdGaussianNonLinearChargePacket:
Herd::ScdDigitizationTools::ScdChargePacket

Public Member Functions

 ScdGaussianNonLinearChargePacket (Point origin)
 
 ~ScdGaussianNonLinearChargePacket () override=default
 
void Diffuse (float distance, CarrierType type) override
 
float IntegrateCharge (float xmin, float xmax) const override
 
std::pair< float, float > EffectiveRange () const override
 
void SetDiffusionParameters (float biasVoltage, float intrinsicVoltage, float siliconDepth)
 
- Public Member Functions inherited from Herd::ScdDigitizationTools::ScdChargePacket
 ScdChargePacket (Point origin)
 
virtual ~ScdChargePacket ()=default
 

Private Attributes

float m_biasVoltage
 
float m_intrinsicVoltage
 
float m_siliconDepth
 
float m_sigma
 

Additional Inherited Members

- Public Types inherited from Herd::ScdDigitizationTools::ScdChargePacket
enum  CarrierType { CarrierType::Electron, CarrierType::Hole }
 
- Protected Attributes inherited from Herd::ScdDigitizationTools::ScdChargePacket
Point m_origin
 

Detailed Description

Class to describe a charge packet that diffuses with a simple gaussian profile.

The diffusion is assumed to be in 2D, z being the transverse direction to the silicon wafer, and x the longitudinal one.

Constructor & Destructor Documentation

◆ ScdGaussianNonLinearChargePacket()

Herd::ScdDigitizationTools::ScdGaussianNonLinearChargePacket::ScdGaussianNonLinearChargePacket ( Point  origin)
inline

◆ ~ScdGaussianNonLinearChargePacket()

Herd::ScdDigitizationTools::ScdGaussianNonLinearChargePacket::~ScdGaussianNonLinearChargePacket ( )
overridedefault

Member Function Documentation

◆ Diffuse()

void Herd::ScdDigitizationTools::ScdGaussianNonLinearChargePacket::Diffuse ( float  distance,
CarrierType  type 
)
overridevirtual

◆ EffectiveRange()

std::pair< float, float > Herd::ScdDigitizationTools::ScdGaussianNonLinearChargePacket::EffectiveRange ( ) const
overridevirtual

◆ IntegrateCharge()

float Herd::ScdDigitizationTools::ScdGaussianNonLinearChargePacket::IntegrateCharge ( float  xmin,
float  xmax 
) const
overridevirtual

◆ SetDiffusionParameters()

void Herd::ScdDigitizationTools::ScdGaussianNonLinearChargePacket::SetDiffusionParameters ( float  biasVoltage,
float  intrinsicVoltage,
float  siliconDepth 
)

Member Data Documentation

◆ m_biasVoltage

float Herd::ScdDigitizationTools::ScdGaussianNonLinearChargePacket::m_biasVoltage
private

◆ m_intrinsicVoltage

float Herd::ScdDigitizationTools::ScdGaussianNonLinearChargePacket::m_intrinsicVoltage
private

◆ m_sigma

float Herd::ScdDigitizationTools::ScdGaussianNonLinearChargePacket::m_sigma
private

◆ m_siliconDepth

float Herd::ScdDigitizationTools::ScdGaussianNonLinearChargePacket::m_siliconDepth
private

The documentation for this class was generated from the following files: