ViennaSHE 1.3.0
Free open-source semiconductor device simulator using spherical harmonics expansions techniques.
viennashe::she::impact_ionization_scattering< DeviceType > Class Template Reference

Impact ionization scattering process. More...

#include <impact_ionization_scattering.hpp>

Inheritance diagram for viennashe::she::impact_ionization_scattering< DeviceType >:
viennashe::she::scattering_base< DeviceType >

Public Types

typedef base_type::scatter_processes_type scatter_processes_type
 
typedef scatter_processes_type value_type
 
- Public Types inherited from viennashe::she::scattering_base< DeviceType >
typedef std::vector< scatter_process_descriptorscatter_processes_type
 
typedef scatter_processes_type value_type
 

Public Member Functions

 impact_ionization_scattering (DeviceType const &device, viennashe::config const &conf)
 
scatter_processes_type operator() (CellType const &elem, double kinetic_energy, viennashe::carrier_type_id ctype) const
 
scatter_processes_type operator() (FacetType const &elem, double kinetic_energy, viennashe::carrier_type_id ctype) const
 
scatter_process_id id () const
 
- Public Member Functions inherited from viennashe::she::scattering_base< DeviceType >
 scattering_base (DeviceType const &device, viennashe::config const &conf)
 
virtual ~scattering_base ()
 
virtual scatter_processes_type operator() (FacetType const &elem, double kinetic_energy, viennashe::carrier_type_id ctype) const =0
 
virtual scatter_processes_type operator() (CellType const &elem, double kinetic_energy, viennashe::carrier_type_id ctype) const =0
 
virtual scatter_process_id id () const =0
 

Additional Inherited Members

- Protected Types inherited from viennashe::she::scattering_base< DeviceType >
typedef DeviceType::mesh_type MeshType
 
typedef viennagrid::result_of::point< MeshType >::type PointType
 
typedef viennagrid::result_of::vertex< MeshType >::type VertexType
 
typedef viennagrid::result_of::facet< MeshType >::type FacetType
 
typedef viennagrid::result_of::cell< MeshType >::type CellType
 
- Protected Attributes inherited from viennashe::she::scattering_base< DeviceType >
DeviceType const & device_
 
viennashe::config const & conf_
 

Detailed Description

template<typename DeviceType>
class viennashe::she::impact_ionization_scattering< DeviceType >

Impact ionization scattering process.

This class provides the parameters for impact ionization.

Definition at line 42 of file impact_ionization_scattering.hpp.

Member Typedef Documentation

◆ scatter_processes_type

template<typename DeviceType >
typedef base_type::scatter_processes_type viennashe::she::impact_ionization_scattering< DeviceType >::scatter_processes_type

Definition at line 49 of file impact_ionization_scattering.hpp.

◆ value_type

template<typename DeviceType >
typedef scatter_processes_type viennashe::she::impact_ionization_scattering< DeviceType >::value_type

Definition at line 50 of file impact_ionization_scattering.hpp.

Constructor & Destructor Documentation

◆ impact_ionization_scattering()

template<typename DeviceType >
viennashe::she::impact_ionization_scattering< DeviceType >::impact_ionization_scattering ( DeviceType const &  device,
viennashe::config const &  conf 
)
inline

Definition at line 52 of file impact_ionization_scattering.hpp.

Member Function Documentation

◆ id()

template<typename DeviceType >
scatter_process_id viennashe::she::impact_ionization_scattering< DeviceType >::id ( ) const
inlinevirtual

◆ operator()() [1/2]

template<typename DeviceType >
scatter_processes_type viennashe::she::impact_ionization_scattering< DeviceType >::operator() ( CellType const &  elem,
double  kinetic_energy,
viennashe::carrier_type_id  ctype 
) const
inlinevirtual

◆ operator()() [2/2]

template<typename DeviceType >
scatter_processes_type viennashe::she::impact_ionization_scattering< DeviceType >::operator() ( FacetType const &  elem,
double  kinetic_energy,
viennashe::carrier_type_id  ctype 
) const
inlinevirtual

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