PLaSK library
Loading...
Searching...
No Matches
plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo Struct Reference

Structure containing information about each active region. More...

#include <solvers/gain/freecarrier/freecarrier.hpp>

Collaboration diagram for plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo:
[legend]

Public Types

enum  ConsideredHoles : unsigned { NO_HOLES = 0 , HEAVY_HOLES = 1 , LIGHT_HOLES = 2 , BOTH_HOLES = 3 }
 

Public Member Functions

 ActiveRegionInfo (Vec< DIM > origin)
 
size_t size () const
 Return number of layers in the active region with surrounding barriers.
 
shared_ptr< MaterialgetLayerMaterial (size_t n) const
 Return material of n-th layer.
 
Primitive< DIM >::Box getLayerBox (size_t n) const
 Return translated bounding box of n-th layer.
 
bool isQW (size_t n) const
 Return true if given layer is quantum well.
 
Primitive< DIM >::Box getBoundingBox () const
 Return bounding box of the whole active region.
 
bool contains (const Vec< DIM > &point) const
 Return vertical position of the center of the active region.
 
bool inQW (const Vec< DIM > &point) const
 Return true if given point is inside quantum well.
 
double averageNr (double lam, double T, double conc=0.) const
 
void summarize (const FreeCarrierGainSolver< BaseT > *solver)
 Summarize active region, check for appropriateness and compute some values.
 

Public Attributes

shared_ptr< StackContainer< DIM > > layers
 Stack containing all layers in the active region.
 
Vec< DIMorigin
 Location of the active region stack origin.
 
std::vector< shared_ptr< Material > > materials
 All materials in the active region.
 
std::vector< doublethicknesses
 Thicknesses of the layers in the active region.
 
std::vector< size_t > wells
 Division of the active region into separate quantum wells.
 
double total
 Total active region thickness (µm)
 
double totalqw
 Total accepted quantum wells thickness (µm)
 
double bottom
 Bottom spacer thickness (µm)
 
double top
 Top spacer thickness (µm)
 
enum plask::gain::freecarrier::FreeCarrierGainSolver::ActiveRegionInfo::ConsideredHoles holes
 Type of holes existing in the active region.
 

Detailed Description

template<typename BaseT>
struct plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo

Structure containing information about each active region.

Definition at line 56 of file freecarrier.hpp.

Member Enumeration Documentation

◆ ConsideredHoles

Enumerator
NO_HOLES 
HEAVY_HOLES 
LIGHT_HOLES 
BOTH_HOLES 

Definition at line 111 of file freecarrier.hpp.

Constructor & Destructor Documentation

◆ ActiveRegionInfo()

template<typename BaseT >
plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::ActiveRegionInfo ( Vec< DIM origin)
inline

Definition at line 60 of file freecarrier.hpp.

Member Function Documentation

◆ averageNr()

template<typename BaseT >
double plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::averageNr ( double  lam,
double  T,
double  conc = 0. 
) const
inline

Definition at line 95 of file freecarrier.hpp.

◆ contains()

template<typename BaseT >
bool plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::contains ( const Vec< DIM > &  point) const
inline

Return vertical position of the center of the active region.

Return true if the point is in the active region

Definition at line 86 of file freecarrier.hpp.

◆ getBoundingBox()

template<typename BaseT >
Primitive< DIM >::Box plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::getBoundingBox ( ) const
inline

Return bounding box of the whole active region.

Definition at line 81 of file freecarrier.hpp.

◆ getLayerBox()

template<typename BaseT >
Primitive< DIM >::Box plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::getLayerBox ( size_t  n) const
inline

Return translated bounding box of n-th layer.

Definition at line 73 of file freecarrier.hpp.

◆ getLayerMaterial()

template<typename BaseT >
shared_ptr< Material > plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::getLayerMaterial ( size_t  n) const
inline

Return material of n-th layer.

Definition at line 66 of file freecarrier.hpp.

◆ inQW()

template<typename BaseT >
bool plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::inQW ( const Vec< DIM > &  point) const
inline

Return true if given point is inside quantum well.

Definition at line 89 of file freecarrier.hpp.

◆ isQW()

template<typename BaseT >
bool plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::isQW ( size_t  n) const
inline

Return true if given layer is quantum well.

Definition at line 78 of file freecarrier.hpp.

◆ size()

template<typename BaseT >
size_t plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::size ( ) const
inline

Return number of layers in the active region with surrounding barriers.

Definition at line 63 of file freecarrier.hpp.

◆ summarize()

template<typename BaseT >
void plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::summarize ( const FreeCarrierGainSolver< BaseT > *  solver)

Summarize active region, check for appropriateness and compute some values.

Parameters
solversolver

Definition at line 98 of file freecarrier.cpp.

Member Data Documentation

◆ bottom

template<typename BaseT >
double plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::bottom

Bottom spacer thickness (µm)

Definition at line 108 of file freecarrier.hpp.

◆ holes

Type of holes existing in the active region.

◆ layers

template<typename BaseT >
shared_ptr<StackContainer<DIM> > plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::layers

Stack containing all layers in the active region.

Definition at line 57 of file freecarrier.hpp.

◆ materials

template<typename BaseT >
std::vector<shared_ptr<Material> > plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::materials

All materials in the active region.

Definition at line 102 of file freecarrier.hpp.

◆ origin

template<typename BaseT >
Vec<DIM> plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::origin

Location of the active region stack origin.

Definition at line 58 of file freecarrier.hpp.

◆ thicknesses

template<typename BaseT >
std::vector<double> plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::thicknesses

Thicknesses of the layers in the active region.

Definition at line 103 of file freecarrier.hpp.

◆ top

template<typename BaseT >
double plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::top

Top spacer thickness (µm)

Definition at line 109 of file freecarrier.hpp.

◆ total

template<typename BaseT >
double plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::total

Total active region thickness (µm)

Definition at line 106 of file freecarrier.hpp.

◆ totalqw

template<typename BaseT >
double plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::totalqw

Total accepted quantum wells thickness (µm)

Definition at line 107 of file freecarrier.hpp.

◆ wells

template<typename BaseT >
std::vector<size_t> plask::gain::freecarrier::FreeCarrierGainSolver< BaseT >::ActiveRegionInfo::wells

Division of the active region into separate quantum wells.

Definition at line 104 of file freecarrier.hpp.


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