Garfield++ 5.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
Abstract base class for media. More...
#include <Medium.hh>
Public Member Functions | |
Medium () | |
Constructor. | |
virtual | ~Medium () |
Destructor. | |
int | GetId () const |
Return the id number of the class instance. | |
const std::string & | GetName () const |
Get the medium name/identifier. | |
virtual bool | IsGas () const |
Is this medium a gas? | |
virtual bool | IsSemiconductor () const |
Is this medium a semiconductor? | |
virtual bool | IsConductor () const |
Is this medium a conductor? | |
void | SetTemperature (const double t) |
Set the temperature [K]. | |
double | GetTemperature () const |
Get the temperature [K]. | |
void | SetPressure (const double p) |
double | GetPressure () const |
void | SetDielectricConstant (const double eps) |
Set the relative static dielectric constant. | |
double | GetDielectricConstant () const |
Get the relative static dielectric constant. | |
unsigned int | GetNumberOfComponents () const |
Get number of components of the medium. | |
virtual void | GetComponent (const unsigned int i, std::string &label, double &f) |
Get the name and fraction of a given component. | |
virtual void | SetAtomicNumber (const double z) |
Set the effective atomic number. | |
virtual double | GetAtomicNumber () const |
Get the effective atomic number. | |
virtual void | SetAtomicWeight (const double a) |
Set the effective atomic weight. | |
virtual double | GetAtomicWeight () const |
Get the effective atomic weight. | |
virtual void | SetNumberDensity (const double n) |
Set the number density [cm-3]. | |
virtual double | GetNumberDensity () const |
Get the number density [cm-3]. | |
virtual void | SetMassDensity (const double rho) |
Set the mass density [g/cm3]. | |
virtual double | GetMassDensity () const |
Get the mass density [g/cm3]. | |
virtual void | EnableDrift (const bool on=true) |
Switch electron/ion/hole transport on/off. | |
virtual void | EnablePrimaryIonisation (const bool on=true) |
Make the medium ionisable or non-ionisable. | |
bool | IsDriftable () const |
Is charge carrier transport enabled in this medium? | |
bool | IsMicroscopic () const |
Does the medium have electron scattering rates? | |
bool | IsIonisable () const |
Is charge deposition by charged particles/photon enabled in this medium? | |
void | SetW (const double w) |
Set the W value (average energy to produce an electron/ion or e/h pair). | |
double | GetW () const |
Get the W value. | |
void | SetFanoFactor (const double f) |
Set the Fano factor. | |
double | GetFanoFactor () const |
Get the Fano factor. | |
void | PlotVelocity (const std::string &carriers, TPad *pad) |
Plot the drift velocity as function of the electric field. | |
void | PlotDiffusion (const std::string &carriers, TPad *pad) |
Plot the diffusion coefficients as function of the electric field. | |
void | PlotTownsend (const std::string &carriers, TPad *pad) |
Plot the Townsend coefficient(s) as function of the electric field. | |
void | PlotAttachment (const std::string &carriers, TPad *pad) |
Plot the attachment coefficient(s) as function of the electric field. | |
void | PlotAlphaEta (const std::string &carriers, TPad *pad) |
Plot Townsend and attachment coefficients. | |
virtual bool | ElectronVelocity (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &vx, double &vy, double &vz) |
Drift velocity [cm / ns]. | |
virtual bool | ElectronDiffusion (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &dl, double &dt) |
Longitudinal and transverse diffusion coefficients [cm1/2]. | |
virtual bool | ElectronDiffusion (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double cov[3][3]) |
virtual bool | ElectronTownsend (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &alpha) |
Ionisation coefficient [cm-1]. | |
virtual bool | ElectronAttachment (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &eta) |
Attachment coefficient [cm-1]. | |
virtual bool | ElectronLorentzAngle (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &lor) |
Lorentz angle. | |
virtual double | ElectronMobility () |
Low-field mobility [cm2 V-1 ns-1]. | |
virtual double | GetElectronEnergy (const double px, const double py, const double pz, double &vx, double &vy, double &vz, const int band=0) |
Dispersion relation (energy vs. wave vector) | |
virtual void | GetElectronMomentum (const double e, double &px, double &py, double &pz, int &band) |
virtual double | GetElectronNullCollisionRate (const int band=0) |
Null-collision rate [ns-1]. | |
virtual double | GetElectronCollisionRate (const double e, const int band=0) |
Collision rate [ns-1] for given electron energy. | |
virtual bool | ElectronCollision (const double e, int &type, int &level, double &e1, double &dx, double &dy, double &dz, std::vector< std::pair< Particle, double > > &secondaries, int &ndxc, int &band) |
Sample the collision type. Update energy and direction vector. | |
virtual unsigned int | GetNumberOfDeexcitationProducts () const |
virtual bool | GetDeexcitationProduct (const unsigned int i, double &t, double &s, int &type, double &energy) const |
virtual bool | HoleVelocity (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &vx, double &vy, double &vz) |
Drift velocity [cm / ns]. | |
virtual bool | HoleDiffusion (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &dl, double &dt) |
Longitudinal and transverse diffusion coefficients [cm1/2]. | |
virtual bool | HoleDiffusion (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double cov[3][3]) |
Diffusion tensor. | |
virtual bool | HoleTownsend (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &alpha) |
Ionisation coefficient [cm-1]. | |
virtual bool | HoleAttachment (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &eta) |
Attachment coefficient [cm-1]. | |
virtual double | HoleMobility () |
Low-field mobility [cm2 V-1 ns-1]. | |
virtual bool | IonVelocity (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &vx, double &vy, double &vz) |
Ion drift velocity [cm / ns]. | |
virtual bool | IonDiffusion (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &dl, double &dt) |
Longitudinal and transverse diffusion coefficients [cm1/2]. | |
virtual bool | IonDissociation (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &diss) |
Dissociation coefficient. | |
virtual double | IonMobility () |
Low-field ion mobility [cm2 V-1 ns-1]. | |
virtual bool | NegativeIonVelocity (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &vx, double &vy, double &vz) |
Negative ion drift velocity [cm / ns]. | |
virtual double | NegativeIonMobility () |
Low-field negative ion mobility [cm2 V-1 ns-1]. | |
void | SetFieldGrid (double emin, double emax, const size_t ne, bool logE, double bmin=0., double bmax=0., const size_t nb=1, double amin=HalfPi, double amax=HalfPi, const size_t na=1) |
Set the range of fields to be covered by the transport tables. | |
void | SetFieldGrid (const std::vector< double > &efields, const std::vector< double > &bfields, const std::vector< double > &angles) |
Set the fields and E-B angles to be used in the transport tables. | |
void | GetFieldGrid (std::vector< double > &efields, std::vector< double > &bfields, std::vector< double > &angles) |
Get the fields and E-B angles used in the transport tables. | |
bool | SetElectronVelocityE (const size_t ie, const size_t ib, const size_t ia, const double v) |
Set an entry in the table of drift speeds along E. | |
bool | GetElectronVelocityE (const size_t ie, const size_t ib, const size_t ia, double &v) |
Get an entry in the table of drift speeds along E. | |
bool | SetElectronVelocityExB (const size_t ie, const size_t ib, const size_t ia, const double v) |
Set an entry in the table of drift speeds along ExB. | |
bool | GetElectronVelocityExB (const size_t ie, const size_t ib, const size_t ia, double &v) |
Get an entry in the table of drift speeds along ExB. | |
bool | SetElectronVelocityB (const size_t ie, const size_t ib, const size_t ia, const double v) |
Set an entry in the table of drift speeds along Btrans. | |
bool | GetElectronVelocityB (const size_t ie, const size_t ib, const size_t ia, double &v) |
Get an entry in the table of drift speeds along Btrans. | |
bool | SetElectronLongitudinalDiffusion (const size_t ie, const size_t ib, const size_t ia, const double dl) |
Set an entry in the table of longitudinal diffusion coefficients. | |
bool | GetElectronLongitudinalDiffusion (const size_t ie, const size_t ib, const size_t ia, double &dl) |
Get an entry in the table of longitudinal diffusion coefficients. | |
bool | SetElectronTransverseDiffusion (const size_t ie, const size_t ib, const size_t ia, const double dt) |
Set an entry in the table of transverse diffusion coefficients. | |
bool | GetElectronTransverseDiffusion (const size_t ie, const size_t ib, const size_t ia, double &dt) |
Get an entry in the table of transverse diffusion coefficients. | |
bool | SetElectronTownsend (const size_t ie, const size_t ib, const size_t ia, const double alpha) |
Set an entry in the table of Townsend coefficients. | |
bool | GetElectronTownsend (const size_t ie, const size_t ib, const size_t ia, double &alpha) |
Get an entry in the table of Townsend coefficients. | |
bool | SetElectronAttachment (const size_t ie, const size_t ib, const size_t ia, const double eta) |
Set an entry in the table of attachment coefficients. | |
bool | GetElectronAttachment (const size_t ie, const size_t ib, const size_t ia, double &eta) |
Get an entry in the table of attachment coefficients. | |
bool | SetElectronLorentzAngle (const size_t ie, const size_t ib, const size_t ia, const double lor) |
Set an entry in the table of Lorentz angles. | |
bool | GetElectronLorentzAngle (const size_t ie, const size_t ib, const size_t ia, double &lor) |
Get an entry in the table of Lorentz angles. | |
bool | SetHoleVelocityE (const size_t ie, const size_t ib, const size_t ia, const double v) |
Set an entry in the table of drift speeds along E. | |
bool | GetHoleVelocityE (const size_t ie, const size_t ib, const size_t ia, double &v) |
Get an entry in the table of drift speeds along E. | |
bool | SetHoleVelocityExB (const size_t ie, const size_t ib, const size_t ia, const double v) |
Set an entry in the table of drift speeds along ExB. | |
bool | GetHoleVelocityExB (const size_t ie, const size_t ib, const size_t ia, double &v) |
Get an entry in the table of drift speeds along ExB. | |
bool | SetHoleVelocityB (const size_t ie, const size_t ib, const size_t ia, const double v) |
Set an entry in the table of drift speeds along Btrans. | |
bool | GetHoleVelocityB (const size_t ie, const size_t ib, const size_t ia, double &v) |
Get an entry in the table of drift speeds along Btrans. | |
bool | SetHoleLongitudinalDiffusion (const size_t ie, const size_t ib, const size_t ia, const double dl) |
Set an entry in the table of longitudinal diffusion coefficients. | |
bool | GetHoleLongitudinalDiffusion (const size_t ie, const size_t ib, const size_t ia, double &dl) |
Get an entry in the table of longitudinal diffusion coefficients. | |
bool | SetHoleTransverseDiffusion (const size_t ie, const size_t ib, const size_t ia, const double dt) |
Set an entry in the table of transverse diffusion coefficients. | |
bool | GetHoleTransverseDiffusion (const size_t ie, const size_t ib, const size_t ia, double &dt) |
Get an entry in the table of transverse diffusion coefficients. | |
bool | SetHoleTownsend (const size_t ie, const size_t ib, const size_t ia, const double alpha) |
Set an entry in the table of Townsend coefficients. | |
bool | GetHoleTownsend (const size_t ie, const size_t ib, const size_t ia, double &alpha) |
Get an entry in the table of Townsend coefficients. | |
bool | SetHoleAttachment (const size_t ie, const size_t ib, const size_t ia, const double eta) |
Set an entry in the table of attachment coefficients. | |
bool | GetHoleAttachment (const size_t ie, const size_t ib, const size_t ia, double &eta) |
Get an entry in the table of attachment coefficients. | |
bool | SetIonMobility (const std::vector< double > &fields, const std::vector< double > &mobilities, const bool negativeIons=false) |
bool | SetIonMobility (const size_t ie, const size_t ib, const size_t ia, const double mu) |
Set an entry in the table of ion mobilities. | |
bool | GetIonMobility (const size_t ie, const size_t ib, const size_t ia, double &mu) |
Get an entry in the table of ion mobilities. | |
bool | SetIonLongitudinalDiffusion (const size_t ie, const size_t ib, const size_t ia, const double dl) |
Set an entry in the table of longitudinal diffusion coefficients. | |
bool | GetIonLongitudinalDiffusion (const size_t ie, const size_t ib, const size_t ia, double &dl) |
Get an entry in the table of longitudinal diffusion coefficients. | |
bool | SetIonTransverseDiffusion (const size_t ie, const size_t ib, const size_t ia, const double dt) |
Set an entry in the table of transverse diffusion coefficients. | |
bool | GetIonTransverseDiffusion (const size_t ie, const size_t ib, const size_t ia, double &dt) |
Get an entry in the table of transverse diffusion coefficients. | |
bool | SetIonDissociation (const size_t ie, const size_t ib, const size_t ia, const double diss) |
Set an entry in the table of dissociation coefficients. | |
bool | GetIonDissociation (const size_t ie, const size_t ib, const size_t ia, double &diss) |
Get an entry in the table of dissociation coefficients. | |
bool | SetNegativeIonMobility (const size_t ie, const size_t ib, const size_t ia, const double mu) |
Set an entry in the table of negative ion mobilities. | |
bool | GetNegativeIonMobility (const size_t ie, const size_t ib, const size_t ia, double &mu) |
Get an entry in the table of negative ion mobilities. | |
virtual void | ResetTables () |
Reset all tables of transport parameters. | |
void | ResetElectronVelocity () |
void | ResetElectronDiffusion () |
void | ResetElectronTownsend () |
void | ResetElectronAttachment () |
void | ResetElectronLorentzAngle () |
void | ResetHoleVelocity () |
void | ResetHoleDiffusion () |
void | ResetHoleTownsend () |
void | ResetHoleAttachment () |
void | ResetIonMobility () |
void | ResetIonDiffusion () |
void | ResetIonDissociation () |
void | ResetNegativeIonMobility () |
void | SetExtrapolationMethodVelocity (const std::string &extrLow, const std::string &extrHigh) |
void | SetExtrapolationMethodDiffusion (const std::string &extrLow, const std::string &extrHigh) |
void | SetExtrapolationMethodTownsend (const std::string &extrLow, const std::string &extrHigh) |
void | SetExtrapolationMethodAttachment (const std::string &extrLow, const std::string &extrHigh) |
void | SetExtrapolationMethodIonMobility (const std::string &extrLow, const std::string &extrHigh) |
void | SetExtrapolationMethodIonDissociation (const std::string &extrLow, const std::string &extrHigh) |
void | SetInterpolationMethodVelocity (const unsigned int intrp) |
Set the degree of polynomial interpolation (usually 2). | |
void | SetInterpolationMethodDiffusion (const unsigned int intrp) |
void | SetInterpolationMethodTownsend (const unsigned int intrp) |
void | SetInterpolationMethodAttachment (const unsigned int intrp) |
void | SetInterpolationMethodIonMobility (const unsigned int intrp) |
void | SetInterpolationMethodIonDissociation (const unsigned int intrp) |
virtual double | ScaleElectricField (const double e) const |
virtual double | UnScaleElectricField (const double e) const |
virtual double | ScaleVelocity (const double v) const |
virtual double | ScaleDiffusion (const double d) const |
virtual double | ScaleDiffusionTensor (const double d) const |
virtual double | ScaleTownsend (const double alpha) const |
virtual double | ScaleAttachment (const double eta) const |
virtual double | ScaleLorentzAngle (const double lor) const |
virtual double | ScaleDissociation (const double diss) const |
virtual bool | GetOpticalDataRange (double &emin, double &emax, const unsigned int i=0) |
Get the energy range [eV] of the available optical data. | |
virtual bool | GetDielectricFunction (const double e, double &eps1, double &eps2, const unsigned int i=0) |
Get the complex dielectric function at a given energy. | |
virtual bool | GetPhotoAbsorptionCrossSection (const double e, double &sigma, const unsigned int i=0) |
virtual double | GetPhotonCollisionRate (const double e) |
virtual bool | GetPhotonCollision (const double e, int &type, int &level, double &e1, double &ctheta, int &nsec, double &esec) |
void | EnableDebugging () |
Switch on/off debugging messages. | |
void | DisableDebugging () |
Protected Member Functions | |
bool | Velocity (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, const std::vector< std::vector< std::vector< double > > > &velE, const std::vector< std::vector< std::vector< double > > > &velB, const std::vector< std::vector< std::vector< double > > > &velX, const double q, double &vx, double &vy, double &vz) const |
bool | Diffusion (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, const std::vector< std::vector< std::vector< double > > > &difL, const std::vector< std::vector< std::vector< double > > > &difT, double &dl, double &dt) const |
bool | Diffusion (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, const std::vector< std::vector< std::vector< std::vector< double > > > > &diff, double cov[3][3]) const |
bool | Alpha (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, const std::vector< std::vector< std::vector< double > > > &tab, unsigned int intp, const unsigned int thr, const std::pair< unsigned int, unsigned int > &extr, double &alpha) const |
double | GetAngle (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, const double e, const double b) const |
bool | Interpolate (const double e, const double b, const double a, const std::vector< std::vector< std::vector< double > > > &table, double &y, const unsigned int intp, const std::pair< unsigned int, unsigned int > &extr) const |
double | Interpolate1D (const double e, const std::vector< double > &table, const std::vector< double > &fields, const unsigned int intpMeth, const std::pair< unsigned int, unsigned int > &extr) const |
bool | SetEntry (const size_t i, const size_t j, const size_t k, const std::string &fcn, std::vector< std::vector< std::vector< double > > > &tab, const double val) |
bool | GetEntry (const size_t i, const size_t j, const size_t k, const std::string &fcn, const std::vector< std::vector< std::vector< double > > > &tab, double &val) const |
void | SetExtrapolationMethod (const std::string &low, const std::string &high, std::pair< unsigned int, unsigned int > &extr, const std::string &fcn) |
bool | GetExtrapolationIndex (std::string str, unsigned int &nb) const |
size_t | SetThreshold (const std::vector< std::vector< std::vector< double > > > &tab) const |
void | Clone (std::vector< std::vector< std::vector< double > > > &tab, const std::vector< double > &efields, const std::vector< double > &bfields, const std::vector< double > &angles, const unsigned int intp, const std::pair< unsigned int, unsigned int > &extr, const double init, const std::string &label) |
void | Clone (std::vector< std::vector< std::vector< std::vector< double > > > > &tab, const size_t n, const std::vector< double > &efields, const std::vector< double > &bfields, const std::vector< double > &angles, const unsigned int intp, const std::pair< unsigned int, unsigned int > &extr, const double init, const std::string &label) |
void | Init (const size_t nE, const size_t nB, const size_t nA, std::vector< std::vector< std::vector< double > > > &tab, const double val) |
void | Init (const size_t nE, const size_t nB, const size_t nA, const size_t nT, std::vector< std::vector< std::vector< std::vector< double > > > > &tab, const double val) |
Static Protected Member Functions | |
static void | Langevin (const double ex, const double ey, const double ez, double bx, double by, double bz, const double mu, double &vx, double &vy, double &vz) |
static void | Langevin (const double ex, const double ey, const double ez, double bx, double by, double bz, const double mu, const double muH, double &vx, double &vy, double &vz) |
Protected Attributes | |
std::string | m_className = "Medium" |
int | m_id |
unsigned int | m_nComponents = 1 |
std::string | m_name = "" |
double | m_temperature = 293.15 |
double | m_pressure = 760. |
double | m_epsilon = 1. |
double | m_z = 1. |
double | m_a = 0. |
double | m_density = 0. |
double | m_w = 0. |
double | m_fano = 0. |
bool | m_driftable = false |
bool | m_microscopic = false |
bool | m_ionisable = false |
bool | m_isChanged = true |
bool | m_debug = false |
bool | m_tab2d = false |
std::vector< double > | m_eFields |
std::vector< double > | m_bFields |
std::vector< double > | m_bAngles |
std::vector< std::vector< std::vector< double > > > | m_eVelE |
std::vector< std::vector< std::vector< double > > > | m_eVelX |
std::vector< std::vector< std::vector< double > > > | m_eVelB |
std::vector< std::vector< std::vector< double > > > | m_eDifL |
std::vector< std::vector< std::vector< double > > > | m_eDifT |
std::vector< std::vector< std::vector< double > > > | m_eAlp |
std::vector< std::vector< std::vector< double > > > | m_eAtt |
std::vector< std::vector< std::vector< double > > > | m_eLor |
std::vector< std::vector< std::vector< std::vector< double > > > > | m_eDifM |
std::vector< std::vector< std::vector< double > > > | m_hVelE |
std::vector< std::vector< std::vector< double > > > | m_hVelX |
std::vector< std::vector< std::vector< double > > > | m_hVelB |
std::vector< std::vector< std::vector< double > > > | m_hDifL |
std::vector< std::vector< std::vector< double > > > | m_hDifT |
std::vector< std::vector< std::vector< double > > > | m_hAlp |
std::vector< std::vector< std::vector< double > > > | m_hAtt |
std::vector< std::vector< std::vector< std::vector< double > > > > | m_hDifM |
std::vector< std::vector< std::vector< double > > > | m_iMob |
std::vector< std::vector< std::vector< double > > > | m_iDifL |
std::vector< std::vector< std::vector< double > > > | m_iDifT |
std::vector< std::vector< std::vector< double > > > | m_iDis |
std::vector< std::vector< std::vector< double > > > | m_nMob |
unsigned int | m_eThrAlp = 0 |
unsigned int | m_eThrAtt = 0 |
unsigned int | m_hThrAlp = 0 |
unsigned int | m_hThrAtt = 0 |
unsigned int | m_iThrDis = 0 |
std::pair< unsigned int, unsigned int > | m_extrVel = {0, 1} |
std::pair< unsigned int, unsigned int > | m_extrDif = {0, 1} |
std::pair< unsigned int, unsigned int > | m_extrAlp = {0, 1} |
std::pair< unsigned int, unsigned int > | m_extrAtt = {0, 1} |
std::pair< unsigned int, unsigned int > | m_extrLor = {0, 1} |
std::pair< unsigned int, unsigned int > | m_extrMob = {0, 1} |
std::pair< unsigned int, unsigned int > | m_extrDis = {0, 1} |
unsigned int | m_intpVel = 2 |
unsigned int | m_intpDif = 2 |
unsigned int | m_intpAlp = 2 |
unsigned int | m_intpAtt = 2 |
unsigned int | m_intpLor = 2 |
unsigned int | m_intpMob = 2 |
unsigned int | m_intpDis = 2 |
Static Protected Attributes | |
static int | m_idCounter = -1 |
Garfield::Medium::Medium | ( | ) |
Constructor.
Definition at line 61 of file Medium.cc.
Referenced by Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumConductor::MediumConductor(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), Garfield::MediumGas::MediumGas(), Garfield::MediumPlastic::MediumPlastic(), and Garfield::MediumSilicon::MediumSilicon().
|
protected |
Definition at line 413 of file Medium.cc.
Referenced by ElectronAttachment(), ElectronTownsend(), HoleAttachment(), HoleTownsend(), and IonDissociation().
|
protected |
Definition at line 1018 of file Medium.cc.
Referenced by SetFieldGrid().
|
protected |
Definition at line 1065 of file Medium.cc.
|
protected |
Definition at line 334 of file Medium.cc.
Referenced by ElectronDiffusion(), ElectronDiffusion(), HoleDiffusion(), HoleDiffusion(), and IonDiffusion().
|
protected |
Definition at line 372 of file Medium.cc.
|
inline |
|
virtual |
Attachment coefficient [cm-1].
Reimplemented in Garfield::MediumCdTe, Garfield::MediumDiamond, Garfield::MediumGaAs, Garfield::MediumGaN, and Garfield::MediumSilicon.
Definition at line 481 of file Medium.cc.
Referenced by Garfield::MediumCdTe::ElectronAttachment(), Garfield::MediumDiamond::ElectronAttachment(), Garfield::MediumGaAs::ElectronAttachment(), Garfield::MediumGaN::ElectronAttachment(), and Garfield::MediumSilicon::ElectronAttachment().
|
virtual |
Sample the collision type. Update energy and direction vector.
Reimplemented in Garfield::MediumMagboltz, and Garfield::MediumSilicon.
Definition at line 556 of file Medium.cc.
|
virtual |
Longitudinal and transverse diffusion coefficients [cm1/2].
Definition at line 452 of file Medium.cc.
|
virtual |
Diffusion tensor: diagonal elements are the diffusion coefficients [cm] along e, btrans, e x b, off-diagonal elements are the covariances
Definition at line 460 of file Medium.cc.
|
virtual |
Lorentz angle.
Definition at line 494 of file Medium.cc.
|
virtual |
Low-field mobility [cm2 V-1 ns-1].
Reimplemented in Garfield::MediumCdTe, Garfield::MediumDiamond, Garfield::MediumGaAs, Garfield::MediumGaN, and Garfield::MediumSilicon.
Definition at line 518 of file Medium.cc.
|
virtual |
Ionisation coefficient [cm-1].
Reimplemented in Garfield::MediumCdTe, Garfield::MediumDiamond, Garfield::MediumGaAs, Garfield::MediumGaN, and Garfield::MediumSilicon.
Definition at line 468 of file Medium.cc.
Referenced by Garfield::MediumCdTe::ElectronTownsend(), Garfield::MediumDiamond::ElectronTownsend(), Garfield::MediumGaAs::ElectronTownsend(), Garfield::MediumGaN::ElectronTownsend(), and Garfield::MediumSilicon::ElectronTownsend().
|
virtual |
Drift velocity [cm / ns].
Reimplemented in Garfield::MediumCdTe, Garfield::MediumDiamond, Garfield::MediumGaAs, Garfield::MediumGaN, and Garfield::MediumSilicon.
Definition at line 444 of file Medium.cc.
Referenced by Garfield::MediumCdTe::ElectronVelocity(), Garfield::MediumDiamond::ElectronVelocity(), Garfield::MediumGaAs::ElectronVelocity(), Garfield::MediumGaN::ElectronVelocity(), and Garfield::MediumSilicon::ElectronVelocity().
|
inline |
|
inlinevirtual |
Switch electron/ion/hole transport on/off.
Reimplemented in Garfield::MediumConductor, and Garfield::MediumPlastic.
Definition at line 70 of file Medium.hh.
|
inlinevirtual |
Make the medium ionisable or non-ionisable.
Reimplemented in Garfield::MediumConductor, and Garfield::MediumPlastic.
|
protected |
Definition at line 1300 of file Medium.cc.
Referenced by Alpha(), Diffusion(), Diffusion(), ElectronLorentzAngle(), IonVelocity(), NegativeIonVelocity(), and Velocity().
|
inlinevirtual |
Get the effective atomic number.
Reimplemented in Garfield::MediumGas.
Definition at line 55 of file Medium.hh.
Referenced by Garfield::TrackSrim::NewTrack().
|
inlinevirtual |
Get the effective atomic weight.
Reimplemented in Garfield::MediumGas.
Definition at line 59 of file Medium.hh.
|
virtual |
Get the name and fraction of a given component.
Reimplemented in Garfield::MediumCdTe, Garfield::MediumDiamond, Garfield::MediumGaAs, Garfield::MediumGaN, and Garfield::MediumGas.
Definition at line 106 of file Medium.cc.
Referenced by Garfield::TrackDegrade::Initialise(), and Garfield::TrackDegrade::SetupPenning().
|
virtual |
Reimplemented in Garfield::MediumMagboltz.
Definition at line 569 of file Medium.cc.
|
inline |
Get the relative static dielectric constant.
Definition at line 45 of file Medium.hh.
Referenced by Garfield::ComponentNeBem3d::GetVolume(), and Garfield::ComponentNeBem3d::Initialise().
|
virtual |
Get the complex dielectric function at a given energy.
Reimplemented in Garfield::MediumSilicon.
Definition at line 734 of file Medium.cc.
|
inline |
Get an entry in the table of attachment coefficients.
Definition at line 291 of file Medium.hh.
|
virtual |
Collision rate [ns-1] for given electron energy.
Reimplemented in Garfield::MediumMagboltz, and Garfield::MediumSilicon.
Definition at line 550 of file Medium.cc.
|
virtual |
Dispersion relation (energy vs. wave vector)
Reimplemented in Garfield::MediumSilicon.
Definition at line 523 of file Medium.cc.
|
inline |
|
inline |
|
virtual |
Sample the momentum vector for a given energy (only meaningful in semiconductors).
Reimplemented in Garfield::MediumSilicon.
|
virtual |
Null-collision rate [ns-1].
Reimplemented in Garfield::MediumMagboltz, and Garfield::MediumSilicon.
Definition at line 545 of file Medium.cc.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
Definition at line 982 of file Medium.cc.
Referenced by GetElectronAttachment(), Garfield::MediumGas::GetElectronExcitationRate(), Garfield::MediumGas::GetElectronIonisationRate(), GetElectronLongitudinalDiffusion(), GetElectronLorentzAngle(), GetElectronTownsend(), GetElectronTransverseDiffusion(), GetElectronVelocityB(), GetElectronVelocityE(), GetElectronVelocityExB(), GetHoleAttachment(), GetHoleLongitudinalDiffusion(), GetHoleTownsend(), GetHoleTransverseDiffusion(), GetHoleVelocityB(), GetHoleVelocityE(), GetHoleVelocityExB(), GetIonDissociation(), GetIonLongitudinalDiffusion(), GetIonMobility(), GetIonTransverseDiffusion(), and GetNegativeIonMobility().
|
protected |
Definition at line 1235 of file Medium.cc.
Referenced by SetExtrapolationMethod().
|
inline |
Get the Fano factor.
Definition at line 90 of file Medium.hh.
Referenced by Garfield::TrackSrim::NewTrack(), and Garfield::TrackTrim::NewTrack().
void Garfield::Medium::GetFieldGrid | ( | std::vector< double > & | efields, |
std::vector< double > & | bfields, | ||
std::vector< double > & | angles ) |
|
inline |
Get an entry in the table of attachment coefficients.
|
inline |
Get an entry in the table of longitudinal diffusion coefficients.
|
inline |
Get an entry in the table of Townsend coefficients.
|
inline |
Get an entry in the table of transverse diffusion coefficients.
|
inline |
Get an entry in the table of drift speeds along Btrans.
|
inline |
Get an entry in the table of drift speeds along E.
|
inline |
Get an entry in the table of drift speeds along ExB.
|
inline |
Return the id number of the class instance.
Definition at line 24 of file Medium.hh.
Referenced by Garfield::ComponentNeBem3d::GetVolume(), and Garfield::ViewGeometry::Plot3d().
|
inline |
Get an entry in the table of dissociation coefficients.
|
inline |
Get an entry in the table of longitudinal diffusion coefficients.
|
inline |
Get an entry in the table of ion mobilities.
|
inline |
Get an entry in the table of transverse diffusion coefficients.
|
virtual |
Get the mass density [g/cm3].
Reimplemented in Garfield::MediumGas.
Definition at line 102 of file Medium.cc.
Referenced by Garfield::TrackHeed::NewTrack(), Garfield::TrackSrim::NewTrack(), Garfield::GeometryRoot::SetMedium(), Garfield::TrackHeed::TransportDeltaElectron(), and Garfield::TrackHeed::TransportPhoton().
|
inline |
Get the medium name/identifier.
Definition at line 26 of file Medium.hh.
Referenced by Garfield::TrackDegrade::Initialise(), Garfield::TrackDegrade::IsInside(), Garfield::TrackBichsel::NewTrack(), Garfield::TrackDegrade::NewTrack(), Garfield::TrackElectron::NewTrack(), Garfield::TrackHeed::NewTrack(), Garfield::TrackPAI::NewTrack(), Garfield::TrackSrim::NewTrack(), Garfield::ComponentFieldMap::SetGas(), Garfield::ComponentFieldMap::SetMedium(), Garfield::ComponentTcadBase< N >::SetMedium(), Garfield::GeometryRoot::SetMedium(), Garfield::TrackHeed::TransportDeltaElectron(), and Garfield::TrackHeed::TransportPhoton().
|
inline |
Get an entry in the table of negative ion mobilities.
|
inlinevirtual |
Get the number density [cm-3].
Reimplemented in Garfield::MediumGas.
Definition at line 63 of file Medium.hh.
Referenced by Garfield::TrackBichsel::Initialise(), Garfield::TrackElectron::NewTrack(), Garfield::TrackPAI::NewTrack(), and Garfield::TrackSrim::NewTrack().
|
inline |
Get number of components of the medium.
Definition at line 48 of file Medium.hh.
Referenced by Garfield::TrackDegrade::Initialise(), and Garfield::TrackDegrade::SetupPenning().
|
inlinevirtual |
Reimplemented in Garfield::MediumMagboltz.
Definition at line 159 of file Medium.hh.
|
virtual |
Get the energy range [eV] of the available optical data.
Reimplemented in Garfield::MediumSilicon.
Definition at line 722 of file Medium.cc.
|
virtual |
Reimplemented in Garfield::MediumGas.
Definition at line 752 of file Medium.cc.
Referenced by GetPhotonCollisionRate().
|
virtual |
Reimplemented in Garfield::MediumMagboltz.
Definition at line 780 of file Medium.cc.
|
virtual |
Reimplemented in Garfield::MediumMagboltz.
Definition at line 773 of file Medium.cc.
|
inline |
Definition at line 41 of file Medium.hh.
Referenced by Garfield::TrackDegrade::Initialise(), Garfield::TrackDegrade::IsInside(), and Garfield::TrackDegrade::NewTrack().
|
inline |
Get the temperature [K].
Definition at line 37 of file Medium.hh.
Referenced by Garfield::TrackDegrade::Initialise(), Garfield::TrackDegrade::IsInside(), and Garfield::TrackDegrade::NewTrack().
|
inline |
Get the W value.
Definition at line 86 of file Medium.hh.
Referenced by Garfield::TrackSrim::NewTrack(), and Garfield::TrackTrim::NewTrack().
|
virtual |
Attachment coefficient [cm-1].
Reimplemented in Garfield::MediumCdTe, Garfield::MediumDiamond, Garfield::MediumGaAs, Garfield::MediumGaN, and Garfield::MediumSilicon.
Definition at line 612 of file Medium.cc.
Referenced by Garfield::MediumCdTe::HoleAttachment(), Garfield::MediumDiamond::HoleAttachment(), Garfield::MediumGaAs::HoleAttachment(), Garfield::MediumGaN::HoleAttachment(), and Garfield::MediumSilicon::HoleAttachment().
|
virtual |
|
virtual |
Diffusion tensor.
Definition at line 592 of file Medium.cc.
|
virtual |
Low-field mobility [cm2 V-1 ns-1].
Reimplemented in Garfield::MediumCdTe, Garfield::MediumDiamond, Garfield::MediumGaAs, Garfield::MediumGaN, and Garfield::MediumSilicon.
Definition at line 625 of file Medium.cc.
|
virtual |
Ionisation coefficient [cm-1].
Reimplemented in Garfield::MediumCdTe, Garfield::MediumDiamond, Garfield::MediumGaAs, Garfield::MediumGaN, and Garfield::MediumSilicon.
Definition at line 599 of file Medium.cc.
Referenced by Garfield::MediumCdTe::HoleTownsend(), Garfield::MediumDiamond::HoleTownsend(), Garfield::MediumGaAs::HoleTownsend(), Garfield::MediumGaN::HoleTownsend(), and Garfield::MediumSilicon::HoleTownsend().
|
virtual |
Drift velocity [cm / ns].
Reimplemented in Garfield::MediumCdTe, Garfield::MediumDiamond, Garfield::MediumGaAs, Garfield::MediumGaN, and Garfield::MediumSilicon.
Definition at line 578 of file Medium.cc.
Referenced by Garfield::MediumCdTe::HoleVelocity(), Garfield::MediumDiamond::HoleVelocity(), Garfield::MediumGaAs::HoleVelocity(), Garfield::MediumGaN::HoleVelocity(), and Garfield::MediumSilicon::HoleVelocity().
|
protected |
|
protected |
Definition at line 1408 of file Medium.cc.
Referenced by Clone(), Clone(), Garfield::MediumMagboltz::GenerateGasTable(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), SetEntry(), and SetIonMobility().
|
protected |
Definition at line 1314 of file Medium.cc.
Referenced by Alpha(), Clone(), Clone(), Diffusion(), Diffusion(), ElectronLorentzAngle(), IonVelocity(), NegativeIonVelocity(), and Velocity().
|
protected |
Definition at line 1334 of file Medium.cc.
Referenced by Interpolate(), and SetIonMobility().
|
virtual |
|
virtual |
Dissociation coefficient.
Definition at line 667 of file Medium.cc.
|
virtual |
Low-field ion mobility [cm2 V-1 ns-1].
Definition at line 680 of file Medium.cc.
Referenced by NegativeIonMobility().
|
virtual |
Ion drift velocity [cm / ns].
Definition at line 630 of file Medium.cc.
|
inlinevirtual |
Is this medium a conductor?
Reimplemented in Garfield::MediumConductor.
Definition at line 32 of file Medium.hh.
Referenced by Garfield::ComponentNeBem3d::Initialise().
|
inline |
Is charge carrier transport enabled in this medium?
Definition at line 77 of file Medium.hh.
Referenced by Garfield::ComponentAnalyticField::ElectricField(), Garfield::ComponentAnalyticField::ElectricField(), Garfield::ComponentConstant::ElectricField(), Garfield::ComponentConstant::ElectricField(), Garfield::ComponentFieldMap::ElectricField(), Garfield::ComponentNeBem3d::ElectricField(), Garfield::ComponentUser::ElectricField(), and Garfield::ComponentUser::ElectricField().
|
inlinevirtual |
Is this medium a gas?
Reimplemented in Garfield::MediumGas.
Definition at line 28 of file Medium.hh.
Referenced by Garfield::TrackDegrade::Initialise(), Garfield::TrackHeed::Initialise(), Garfield::TrackDegrade::IsInside(), Garfield::TrackElectron::NewTrack(), and Garfield::ViewGeometry::Plot3d().
|
inline |
Is charge deposition by charged particles/photon enabled in this medium?
Definition at line 81 of file Medium.hh.
Referenced by Garfield::TrackSrim::GetMedium(), Heed::HeedFieldMap::inside(), Garfield::TrackDegrade::IsInside(), Garfield::TrackBichsel::NewTrack(), Garfield::TrackElectron::NewTrack(), Garfield::TrackHeed::NewTrack(), Garfield::TrackPAI::NewTrack(), Garfield::TrackTrim::NewTrack(), Garfield::TrackHeed::TransportDeltaElectron(), and Garfield::TrackHeed::TransportPhoton().
|
inline |
|
inlinevirtual |
Is this medium a semiconductor?
Reimplemented in Garfield::MediumCdTe, Garfield::MediumDiamond, Garfield::MediumGaAs, Garfield::MediumGaN, and Garfield::MediumSilicon.
Definition at line 30 of file Medium.hh.
Referenced by Garfield::ViewGeometry::Plot3d().
|
staticprotected |
Definition at line 317 of file Medium.cc.
|
staticprotected |
Definition at line 301 of file Medium.cc.
Referenced by Garfield::MediumCdTe::ElectronVelocity(), Garfield::MediumDiamond::ElectronVelocity(), Garfield::MediumGaAs::ElectronVelocity(), Garfield::MediumGaN::ElectronVelocity(), Garfield::MediumSilicon::ElectronVelocity(), Garfield::MediumCdTe::HoleVelocity(), Garfield::MediumDiamond::HoleVelocity(), Garfield::MediumGaAs::HoleVelocity(), Garfield::MediumGaN::HoleVelocity(), Garfield::MediumSilicon::HoleVelocity(), IonVelocity(), NegativeIonVelocity(), and Velocity().
|
virtual |
Low-field negative ion mobility [cm2 V-1 ns-1].
Definition at line 718 of file Medium.cc.
|
virtual |
Negative ion drift velocity [cm / ns].
Definition at line 684 of file Medium.cc.
void Garfield::Medium::PlotAlphaEta | ( | const std::string & | carriers, |
TPad * | pad ) |
void Garfield::Medium::PlotAttachment | ( | const std::string & | carriers, |
TPad * | pad ) |
void Garfield::Medium::PlotDiffusion | ( | const std::string & | carriers, |
TPad * | pad ) |
void Garfield::Medium::PlotTownsend | ( | const std::string & | carriers, |
TPad * | pad ) |
void Garfield::Medium::PlotVelocity | ( | const std::string & | carriers, |
TPad * | pad ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 468 of file Medium.hh.
Referenced by ResetTables().
|
inline |
|
inline |
Definition at line 467 of file Medium.hh.
Referenced by ResetTables(), and SetIonMobility().
|
inline |
Definition at line 473 of file Medium.hh.
Referenced by ResetTables(), and SetIonMobility().
|
virtual |
Reset all tables of transport parameters.
Reimplemented in Garfield::MediumGas.
Definition at line 999 of file Medium.cc.
Referenced by Garfield::MediumGas::ResetTables().
|
inlinevirtual |
Reimplemented in Garfield::MediumGas.
Definition at line 505 of file Medium.hh.
Referenced by ElectronAttachment(), and HoleAttachment().
|
inlinevirtual |
Reimplemented in Garfield::MediumGas.
Definition at line 502 of file Medium.hh.
Referenced by Diffusion().
|
inlinevirtual |
Reimplemented in Garfield::MediumGas.
Definition at line 503 of file Medium.hh.
Referenced by Diffusion().
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in Garfield::MediumGas.
Definition at line 499 of file Medium.hh.
Referenced by Alpha(), Diffusion(), Diffusion(), ElectronLorentzAngle(), IonVelocity(), NegativeIonVelocity(), and Velocity().
|
inlinevirtual |
Reimplemented in Garfield::MediumGas.
Definition at line 506 of file Medium.hh.
Referenced by ElectronLorentzAngle().
|
inlinevirtual |
Reimplemented in Garfield::MediumGas.
Definition at line 504 of file Medium.hh.
Referenced by ElectronTownsend(), and HoleTownsend().
|
inlinevirtual |
|
virtual |
Set the effective atomic number.
Reimplemented in Garfield::MediumGas.
Definition at line 115 of file Medium.cc.
Referenced by Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), and Garfield::MediumSilicon::MediumSilicon().
|
virtual |
Set the effective atomic weight.
Reimplemented in Garfield::MediumGas.
Definition at line 125 of file Medium.cc.
Referenced by Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), and Garfield::MediumSilicon::MediumSilicon().
void Garfield::Medium::SetDielectricConstant | ( | const double | eps | ) |
Set the relative static dielectric constant.
Definition at line 92 of file Medium.cc.
Referenced by Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), and Garfield::MediumSilicon::MediumSilicon().
|
inline |
Set an entry in the table of attachment coefficients.
Definition at line 286 of file Medium.hh.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
Definition at line 966 of file Medium.cc.
Referenced by SetElectronAttachment(), SetElectronLongitudinalDiffusion(), SetElectronLorentzAngle(), SetElectronTownsend(), SetElectronTransverseDiffusion(), SetElectronVelocityB(), SetElectronVelocityE(), SetElectronVelocityExB(), SetHoleAttachment(), SetHoleLongitudinalDiffusion(), SetHoleTownsend(), SetHoleTransverseDiffusion(), SetHoleVelocityB(), SetHoleVelocityE(), SetHoleVelocityExB(), SetIonDissociation(), SetIonLongitudinalDiffusion(), SetIonTransverseDiffusion(), and SetNegativeIonMobility().
|
protected |
Definition at line 1215 of file Medium.cc.
Referenced by SetExtrapolationMethodAttachment(), SetExtrapolationMethodDiffusion(), Garfield::MediumGas::SetExtrapolationMethodExcitationRates(), SetExtrapolationMethodIonDissociation(), Garfield::MediumGas::SetExtrapolationMethodIonisationRates(), SetExtrapolationMethodIonMobility(), SetExtrapolationMethodTownsend(), and SetExtrapolationMethodVelocity().
void Garfield::Medium::SetExtrapolationMethodAttachment | ( | const std::string & | extrLow, |
const std::string & | extrHigh ) |
Definition at line 1200 of file Medium.cc.
void Garfield::Medium::SetExtrapolationMethodDiffusion | ( | const std::string & | extrLow, |
const std::string & | extrHigh ) |
void Garfield::Medium::SetExtrapolationMethodIonDissociation | ( | const std::string & | extrLow, |
const std::string & | extrHigh ) |
void Garfield::Medium::SetExtrapolationMethodIonMobility | ( | const std::string & | extrLow, |
const std::string & | extrHigh ) |
void Garfield::Medium::SetExtrapolationMethodTownsend | ( | const std::string & | extrLow, |
const std::string & | extrHigh ) |
void Garfield::Medium::SetExtrapolationMethodVelocity | ( | const std::string & | extrLow, |
const std::string & | extrHigh ) |
Select the extrapolation method for fields below/above the table range. Possible options are "constant", "linear", and "exponential".
|
inline |
void Garfield::Medium::SetFieldGrid | ( | const std::vector< double > & | efields, |
const std::vector< double > & | bfields, | ||
const std::vector< double > & | angles ) |
Set the fields and E-B angles to be used in the transport tables.
Definition at line 882 of file Medium.cc.
void Garfield::Medium::SetFieldGrid | ( | double | emin, |
double | emax, | ||
const size_t | ne, | ||
bool | logE, | ||
double | bmin = 0., | ||
double | bmax = 0., | ||
const size_t | nb = 1, | ||
double | amin = HalfPi, | ||
double | amax = HalfPi, | ||
const size_t | na = 1 ) |
Set the range of fields to be covered by the transport tables.
Definition at line 791 of file Medium.cc.
Referenced by Medium(), and SetFieldGrid().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void Garfield::Medium::SetInterpolationMethodAttachment | ( | const unsigned int | intrp | ) |
void Garfield::Medium::SetInterpolationMethodDiffusion | ( | const unsigned int | intrp | ) |
void Garfield::Medium::SetInterpolationMethodIonDissociation | ( | const unsigned int | intrp | ) |
void Garfield::Medium::SetInterpolationMethodIonMobility | ( | const unsigned int | intrp | ) |
void Garfield::Medium::SetInterpolationMethodTownsend | ( | const unsigned int | intrp | ) |
void Garfield::Medium::SetInterpolationMethodVelocity | ( | const unsigned int | intrp | ) |
|
inline |
|
inline |
bool Garfield::Medium::SetIonMobility | ( | const size_t | ie, |
const size_t | ib, | ||
const size_t | ia, | ||
const double | mu ) |
Set an entry in the table of ion mobilities.
bool Garfield::Medium::SetIonMobility | ( | const std::vector< double > & | fields, |
const std::vector< double > & | mobilities, | ||
const bool | negativeIons = false ) |
Initialise the table of ion mobilities from a list of electric fields and corresponding mobilities. The mobilities will be interpolated at the electric fields of the currently set grid.
Definition at line 1139 of file Medium.cc.
Referenced by Garfield::MediumGas::LoadMobility().
|
inline |
|
virtual |
Set the mass density [g/cm3].
Reimplemented in Garfield::MediumGas.
Definition at line 145 of file Medium.cc.
Referenced by Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), and Garfield::MediumSilicon::MediumSilicon().
|
inline |
|
virtual |
Set the number density [cm-3].
Reimplemented in Garfield::MediumGas.
Definition at line 135 of file Medium.cc.
void Garfield::Medium::SetPressure | ( | const double | p | ) |
Definition at line 82 of file Medium.cc.
Referenced by main().
void Garfield::Medium::SetTemperature | ( | const double | t | ) |
Set the temperature [K].
Definition at line 72 of file Medium.cc.
Referenced by main(), Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), and Garfield::MediumSilicon::MediumSilicon().
|
protected |
Definition at line 1252 of file Medium.cc.
Referenced by Garfield::MediumGas::AdjustTownsendCoefficient(), Garfield::MediumMagboltz::GenerateGasTable(), and Garfield::MediumGas::MergeGasFile().
|
inline |
|
inlinevirtual |
Reimplemented in Garfield::MediumGas.
Definition at line 500 of file Medium.hh.
Referenced by ElectronMobility(), and HoleMobility().
|
protected |
Definition at line 196 of file Medium.cc.
Referenced by ElectronVelocity(), and HoleVelocity().
|
protected |
Definition at line 548 of file Medium.hh.
Referenced by GetAtomicWeight(), GetMassDensity(), SetAtomicWeight(), and SetMassDensity().
|
protected |
Definition at line 574 of file Medium.hh.
Referenced by Garfield::MediumGas::AdjustTownsendCoefficient(), Garfield::MediumMagboltz::GenerateGasTable(), GetAngle(), GetEntry(), GetFieldGrid(), Interpolate(), Garfield::MediumGas::LoadGasFile(), Medium(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetEntry(), SetFieldGrid(), SetIonMobility(), SetIonMobility(), SetThreshold(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 573 of file Medium.hh.
Referenced by Garfield::MediumGas::AdjustTownsendCoefficient(), Garfield::MediumMagboltz::GenerateGasTable(), GetEntry(), GetFieldGrid(), Interpolate(), Garfield::MediumGas::LoadGasFile(), Medium(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetEntry(), SetFieldGrid(), SetIonMobility(), SetIonMobility(), SetThreshold(), Velocity(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 529 of file Medium.hh.
Referenced by Garfield::MediumGas::AdjustTownsendCoefficient(), Clone(), Clone(), Garfield::MediumMagboltz::ComputeDeexcitation(), Garfield::MediumGas::DisablePenningTransfer(), Garfield::MediumMagboltz::DisablePenningTransfer(), Garfield::MediumSilicon::ElectronAttachment(), ElectronCollision(), Garfield::MediumMagboltz::ElectronCollision(), Garfield::MediumSilicon::ElectronCollision(), Garfield::MediumSilicon::ElectronTownsend(), Garfield::MediumSilicon::ElectronVelocity(), Garfield::MediumMagboltz::EnableDeexcitation(), Garfield::MediumGas::EnablePenningTransfer(), Garfield::MediumGas::EnablePenningTransfer(), Garfield::MediumGas::EnablePenningTransfer(), Garfield::MediumMagboltz::EnablePenningTransfer(), Garfield::MediumMagboltz::EnablePenningTransfer(), Garfield::MediumMagboltz::EnableRadiationTrapping(), Garfield::MediumMagboltz::GenerateGasTable(), GetComponent(), Garfield::MediumCdTe::GetComponent(), Garfield::MediumDiamond::GetComponent(), Garfield::MediumGas::GetComponent(), Garfield::MediumSilicon::GetConductionBandDensityOfStates(), GetDeexcitationProduct(), GetDielectricFunction(), Garfield::MediumSilicon::GetDielectricFunction(), Garfield::MediumSilicon::GetElectronBandPopulation(), GetElectronCollisionRate(), Garfield::MediumMagboltz::GetElectronCollisionRate(), Garfield::MediumMagboltz::GetElectronCollisionRate(), Garfield::MediumSilicon::GetElectronCollisionRate(), GetElectronEnergy(), Garfield::MediumSilicon::GetElectronEnergy(), Garfield::MediumGas::GetElectronExcitationRate(), Garfield::MediumGas::GetElectronIonisationRate(), Garfield::MediumSilicon::GetElectronMomentum(), GetElectronNullCollisionRate(), Garfield::MediumSilicon::GetElectronNullCollisionRate(), GetEntry(), Garfield::MediumGas::GetExcitationLevel(), Garfield::MediumGas::GetIonisationLevel(), Garfield::MediumMagboltz::GetLevel(), Garfield::MediumGas::GetMixture(), Garfield::MediumMagboltz::GetNumberOfElectronCollisions(), Garfield::MediumSilicon::GetNumberOfElectronCollisions(), GetOpticalDataRange(), Garfield::MediumSilicon::GetOpticalDataRange(), Garfield::MediumGas::GetPenningTransfer(), GetPhotoAbsorptionCrossSection(), Garfield::MediumGas::GetPhotoAbsorptionCrossSection(), Garfield::MediumMagboltz::GetPhotonCollision(), Garfield::MediumMagboltz::GetPhotonCollisionRate(), Garfield::MediumSilicon::GetValenceBandDensityOfStates(), Garfield::MediumSilicon::HoleAttachment(), Garfield::MediumSilicon::HoleTownsend(), Garfield::MediumSilicon::HoleVelocity(), Init(), Init(), Garfield::MediumMagboltz::Initialise(), Garfield::MediumSilicon::Initialise(), Interpolate1D(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::LoadMobility(), Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumConductor::MediumConductor(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), Garfield::MediumGas::MediumGas(), Garfield::MediumMagboltz::MediumMagboltz(), Garfield::MediumPlastic::MediumPlastic(), Garfield::MediumSilicon::MediumSilicon(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), Garfield::MediumGas::ReadHeader(), Garfield::MediumMagboltz::RunMagboltz(), SetAtomicNumber(), Garfield::MediumGas::SetAtomicNumber(), SetAtomicWeight(), Garfield::MediumGas::SetAtomicWeight(), Garfield::MediumGas::SetComposition(), SetDielectricConstant(), Garfield::MediumSilicon::SetDoping(), Garfield::MediumGaN::SetElectronConcentration(), SetEntry(), Garfield::MediumMagboltz::SetExcitationScaling(), SetExtrapolationMethod(), SetFieldGrid(), SetFieldGrid(), SetIonMobility(), SetIonMobility(), Garfield::MediumCdTe::SetLowFieldMobility(), Garfield::MediumDiamond::SetLowFieldMobility(), Garfield::MediumGaAs::SetLowFieldMobility(), Garfield::MediumGaN::SetLowFieldMobility(), Garfield::MediumSilicon::SetLowFieldMobility(), SetMassDensity(), Garfield::MediumGas::SetMassDensity(), Garfield::MediumMagboltz::SetMaxElectronEnergy(), Garfield::MediumSilicon::SetMaxElectronEnergy(), Garfield::MediumMagboltz::SetMaxPhotonEnergy(), SetNumberDensity(), Garfield::MediumGas::SetNumberDensity(), SetPressure(), Garfield::MediumDiamond::SetSaturationVelocity(), Garfield::MediumSilicon::SetSaturationVelocity(), Garfield::MediumMagboltz::SetSplittingFunctionGreenSawada(), SetTemperature(), Garfield::MediumSilicon::SetTrapCrossSection(), Garfield::MediumSilicon::SetTrapDensity(), Garfield::MediumSilicon::SetTrappingTime(), Velocity(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 566 of file Medium.hh.
Referenced by Garfield::MediumGas::AdjustTownsendCoefficient(), Clone(), DisableDebugging(), ElectronCollision(), Garfield::MediumMagboltz::ElectronCollision(), EnableDebugging(), GetDeexcitationProduct(), GetDielectricFunction(), GetElectronCollisionRate(), Garfield::MediumSilicon::GetElectronMomentum(), GetElectronNullCollisionRate(), GetEntry(), Garfield::MediumMagboltz::GetLevel(), GetOpticalDataRange(), Garfield::MediumSilicon::GetOpticalDataRange(), GetPhotoAbsorptionCrossSection(), Garfield::MediumMagboltz::Initialise(), Garfield::MediumSilicon::Initialise(), Interpolate1D(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::LoadMobility(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::ReadHeader(), Garfield::MediumMagboltz::RunMagboltz(), SetFieldGrid(), SetIonMobility(), Velocity(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 550 of file Medium.hh.
Referenced by GetMassDensity(), GetNumberDensity(), GetPhotonCollisionRate(), SetMassDensity(), and SetNumberDensity().
|
protected |
Definition at line 558 of file Medium.hh.
Referenced by EnableDrift(), IsDriftable(), Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), Garfield::MediumGas::MediumGas(), Garfield::MediumMagboltz::MediumMagboltz(), and Garfield::MediumSilicon::MediumSilicon().
|
protected |
Definition at line 582 of file Medium.hh.
Referenced by Garfield::MediumGas::AdjustTownsendCoefficient(), ElectronTownsend(), Garfield::MediumCdTe::ElectronTownsend(), Garfield::MediumDiamond::ElectronTownsend(), Garfield::MediumGaAs::ElectronTownsend(), Garfield::MediumGaN::ElectronTownsend(), Garfield::MediumSilicon::ElectronTownsend(), Garfield::MediumMagboltz::GenerateGasTable(), GetElectronTownsend(), Garfield::MediumGas::GetGasBits(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), ResetElectronTownsend(), SetElectronTownsend(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 583 of file Medium.hh.
Referenced by ElectronAttachment(), Garfield::MediumCdTe::ElectronAttachment(), Garfield::MediumDiamond::ElectronAttachment(), Garfield::MediumGaAs::ElectronAttachment(), Garfield::MediumGaN::ElectronAttachment(), Garfield::MediumSilicon::ElectronAttachment(), Garfield::MediumMagboltz::GenerateGasTable(), GetElectronAttachment(), Garfield::MediumGas::GetGasBits(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), ResetElectronAttachment(), SetElectronAttachment(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 580 of file Medium.hh.
Referenced by ElectronDiffusion(), Garfield::MediumMagboltz::GenerateGasTable(), GetElectronLongitudinalDiffusion(), Garfield::MediumGas::GetGasBits(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), ResetElectronDiffusion(), SetElectronLongitudinalDiffusion(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 586 of file Medium.hh.
Referenced by ElectronDiffusion(), Garfield::MediumMagboltz::GenerateGasTable(), Garfield::MediumGas::GetGasBits(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), ResetElectronDiffusion(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 581 of file Medium.hh.
Referenced by ElectronDiffusion(), Garfield::MediumMagboltz::GenerateGasTable(), GetElectronTransverseDiffusion(), Garfield::MediumGas::GetGasBits(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), ResetElectronDiffusion(), SetElectronTransverseDiffusion(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 572 of file Medium.hh.
Referenced by Garfield::MediumGas::AdjustTownsendCoefficient(), Alpha(), ElectronMobility(), Garfield::MediumMagboltz::GenerateGasTable(), GetEntry(), GetFieldGrid(), HoleMobility(), Interpolate(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetEntry(), SetFieldGrid(), SetIonMobility(), SetIonMobility(), SetThreshold(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 584 of file Medium.hh.
Referenced by ElectronLorentzAngle(), Garfield::MediumMagboltz::GenerateGasTable(), GetElectronLorentzAngle(), Garfield::MediumGas::GetGasBits(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), ResetElectronLorentzAngle(), SetElectronLorentzAngle(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 544 of file Medium.hh.
Referenced by GetDielectricConstant(), Garfield::MediumPlastic::MediumPlastic(), and SetDielectricConstant().
|
protected |
Definition at line 608 of file Medium.hh.
Referenced by ElectronTownsend(), Garfield::MediumGas::LoadGasFile(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 609 of file Medium.hh.
Referenced by ElectronAttachment(), Garfield::MediumGas::LoadGasFile(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 579 of file Medium.hh.
Referenced by ElectronVelocity(), Garfield::MediumMagboltz::GenerateGasTable(), GetElectronVelocityB(), Garfield::MediumGas::GetGasBits(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), ResetElectronVelocity(), SetElectronVelocityB(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 577 of file Medium.hh.
Referenced by ElectronMobility(), ElectronVelocity(), Garfield::MediumCdTe::ElectronVelocity(), Garfield::MediumDiamond::ElectronVelocity(), Garfield::MediumGaAs::ElectronVelocity(), Garfield::MediumGaN::ElectronVelocity(), Garfield::MediumSilicon::ElectronVelocity(), Garfield::MediumMagboltz::GenerateGasTable(), GetElectronVelocityE(), Garfield::MediumGas::GetGasBits(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), ResetElectronVelocity(), SetElectronVelocityE(), SetFieldGrid(), Garfield::MediumGas::WriteGasFile(), Garfield::MediumGas::ZeroRowA(), Garfield::MediumGas::ZeroRowB(), and Garfield::MediumGas::ZeroRowE().
|
protected |
Definition at line 578 of file Medium.hh.
Referenced by ElectronVelocity(), Garfield::MediumMagboltz::GenerateGasTable(), GetElectronVelocityExB(), Garfield::MediumGas::GetGasBits(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), ResetElectronVelocity(), SetElectronVelocityExB(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 617 of file Medium.hh.
Referenced by ElectronTownsend(), HoleTownsend(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetExtrapolationMethodTownsend(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 618 of file Medium.hh.
Referenced by ElectronAttachment(), HoleAttachment(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetExtrapolationMethodAttachment(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 616 of file Medium.hh.
Referenced by Diffusion(), Diffusion(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetExtrapolationMethodDiffusion(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 621 of file Medium.hh.
Referenced by IonDissociation(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetExtrapolationMethodIonDissociation(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 619 of file Medium.hh.
Referenced by ElectronLorentzAngle(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 620 of file Medium.hh.
Referenced by IonVelocity(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), NegativeIonVelocity(), Garfield::MediumGas::PrintGas(), SetExtrapolationMethodIonMobility(), SetFieldGrid(), SetIonMobility(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 615 of file Medium.hh.
Referenced by Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetExtrapolationMethodVelocity(), SetFieldGrid(), Velocity(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 555 of file Medium.hh.
Referenced by GetFanoFactor(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), Garfield::MediumGas::MediumGas(), Garfield::MediumSilicon::MediumSilicon(), Garfield::MediumGas::SetComposition(), and SetFanoFactor().
|
protected |
Definition at line 594 of file Medium.hh.
Referenced by GetHoleTownsend(), HoleTownsend(), Garfield::MediumCdTe::HoleTownsend(), Garfield::MediumDiamond::HoleTownsend(), Garfield::MediumGaAs::HoleTownsend(), Garfield::MediumGaN::HoleTownsend(), Garfield::MediumSilicon::HoleTownsend(), ResetHoleTownsend(), SetFieldGrid(), and SetHoleTownsend().
|
protected |
Definition at line 595 of file Medium.hh.
Referenced by GetHoleAttachment(), HoleAttachment(), Garfield::MediumCdTe::HoleAttachment(), Garfield::MediumDiamond::HoleAttachment(), Garfield::MediumGaAs::HoleAttachment(), Garfield::MediumGaN::HoleAttachment(), Garfield::MediumSilicon::HoleAttachment(), ResetHoleAttachment(), SetFieldGrid(), and SetHoleAttachment().
|
protected |
Definition at line 592 of file Medium.hh.
Referenced by GetHoleLongitudinalDiffusion(), HoleDiffusion(), ResetHoleDiffusion(), SetFieldGrid(), and SetHoleLongitudinalDiffusion().
|
protected |
Definition at line 597 of file Medium.hh.
Referenced by HoleDiffusion(), ResetHoleDiffusion(), and SetFieldGrid().
|
protected |
Definition at line 593 of file Medium.hh.
Referenced by GetHoleTransverseDiffusion(), HoleDiffusion(), ResetHoleDiffusion(), SetFieldGrid(), and SetHoleTransverseDiffusion().
|
protected |
Definition at line 610 of file Medium.hh.
Referenced by HoleTownsend().
|
protected |
Definition at line 611 of file Medium.hh.
Referenced by HoleAttachment().
|
protected |
Definition at line 591 of file Medium.hh.
Referenced by GetHoleVelocityB(), HoleVelocity(), ResetHoleVelocity(), SetFieldGrid(), and SetHoleVelocityB().
|
protected |
Definition at line 589 of file Medium.hh.
Referenced by GetHoleVelocityE(), HoleMobility(), HoleVelocity(), Garfield::MediumCdTe::HoleVelocity(), Garfield::MediumDiamond::HoleVelocity(), Garfield::MediumGaAs::HoleVelocity(), Garfield::MediumGaN::HoleVelocity(), Garfield::MediumSilicon::HoleVelocity(), ResetHoleVelocity(), SetFieldGrid(), and SetHoleVelocityE().
|
protected |
Definition at line 590 of file Medium.hh.
Referenced by GetHoleVelocityExB(), HoleVelocity(), ResetHoleVelocity(), SetFieldGrid(), and SetHoleVelocityExB().
|
protected |
|
staticprotected |
|
protected |
Definition at line 601 of file Medium.hh.
Referenced by GetIonLongitudinalDiffusion(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), IonDiffusion(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), ResetIonDiffusion(), SetFieldGrid(), SetIonLongitudinalDiffusion(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 602 of file Medium.hh.
Referenced by GetIonTransverseDiffusion(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), IonDiffusion(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), ResetIonDiffusion(), SetFieldGrid(), SetIonTransverseDiffusion(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 603 of file Medium.hh.
Referenced by Garfield::MediumGas::GetGasBits(), GetIonDissociation(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), IonDissociation(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), ResetIonDissociation(), SetFieldGrid(), SetIonDissociation(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 600 of file Medium.hh.
Referenced by Garfield::MediumGas::GetGasBits(), GetIonMobility(), Garfield::MediumGas::InsertA(), Garfield::MediumGas::InsertB(), Garfield::MediumGas::InsertE(), IonMobility(), IonVelocity(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), NegativeIonVelocity(), Garfield::MediumGas::PrintGas(), ResetIonMobility(), SetFieldGrid(), SetIonMobility(), SetIonMobility(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 626 of file Medium.hh.
Referenced by ElectronTownsend(), HoleTownsend(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetFieldGrid(), SetInterpolationMethodTownsend(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 627 of file Medium.hh.
Referenced by ElectronAttachment(), HoleAttachment(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetFieldGrid(), SetInterpolationMethodAttachment(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 625 of file Medium.hh.
Referenced by Diffusion(), Diffusion(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetFieldGrid(), SetInterpolationMethodDiffusion(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 630 of file Medium.hh.
Referenced by IonDissociation(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetFieldGrid(), SetInterpolationMethodIonDissociation(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 628 of file Medium.hh.
Referenced by ElectronLorentzAngle(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetFieldGrid(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 629 of file Medium.hh.
Referenced by IonVelocity(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), NegativeIonVelocity(), Garfield::MediumGas::PrintGas(), SetFieldGrid(), SetInterpolationMethodIonMobility(), SetIonMobility(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 624 of file Medium.hh.
Referenced by Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumGas::PrintGas(), SetFieldGrid(), SetInterpolationMethodVelocity(), Velocity(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 560 of file Medium.hh.
Referenced by EnablePrimaryIonisation(), IsIonisable(), Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), Garfield::MediumGas::MediumGas(), Garfield::MediumMagboltz::MediumMagboltz(), and Garfield::MediumSilicon::MediumSilicon().
|
protected |
Definition at line 563 of file Medium.hh.
Referenced by Garfield::MediumSilicon::ElectronAttachment(), Garfield::MediumSilicon::ElectronCollision(), Garfield::MediumGaAs::ElectronTownsend(), Garfield::MediumGaN::ElectronTownsend(), Garfield::MediumSilicon::ElectronTownsend(), Garfield::MediumCdTe::ElectronVelocity(), Garfield::MediumDiamond::ElectronVelocity(), Garfield::MediumGaAs::ElectronVelocity(), Garfield::MediumGaN::ElectronVelocity(), Garfield::MediumSilicon::ElectronVelocity(), Garfield::MediumMagboltz::EnableAnisotropicScattering(), Garfield::MediumMagboltz::EnableDeexcitation(), Garfield::MediumMagboltz::EnableRadiationTrapping(), Garfield::MediumSilicon::GetElectronCollisionRate(), Garfield::MediumSilicon::GetElectronNullCollisionRate(), Garfield::MediumSilicon::HoleAttachment(), Garfield::MediumGaAs::HoleTownsend(), Garfield::MediumGaN::HoleTownsend(), Garfield::MediumSilicon::HoleTownsend(), Garfield::MediumCdTe::HoleVelocity(), Garfield::MediumDiamond::HoleVelocity(), Garfield::MediumGaAs::HoleVelocity(), Garfield::MediumGaN::HoleVelocity(), Garfield::MediumSilicon::HoleVelocity(), Garfield::MediumMagboltz::Initialise(), Garfield::MediumSilicon::Initialise(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MediumGas(), Garfield::MediumMagboltz::MediumMagboltz(), Garfield::MediumMagboltz::PrintGas(), SetAtomicNumber(), SetAtomicWeight(), Garfield::MediumGas::SetComposition(), SetDielectricConstant(), Garfield::MediumSilicon::SetDoping(), Garfield::MediumSilicon::SetDopingMobilityModelMasetti(), Garfield::MediumSilicon::SetDopingMobilityModelMinimos(), Garfield::MediumMagboltz::SetExcitationScaling(), Garfield::MediumSilicon::SetHighFieldMobilityModelCanali(), Garfield::MediumSilicon::SetHighFieldMobilityModelMinimos(), Garfield::MediumSilicon::SetHighFieldMobilityModelReggiani(), Garfield::MediumSilicon::SetImpactIonisationModelGrant(), Garfield::MediumSilicon::SetImpactIonisationModelMassey(), Garfield::MediumSilicon::SetImpactIonisationModelOkutoCrowell(), Garfield::MediumSilicon::SetImpactIonisationModelVanOverstraetenDeMan(), Garfield::MediumSilicon::SetLatticeMobilityModelMinimos(), Garfield::MediumSilicon::SetLatticeMobilityModelReggiani(), Garfield::MediumSilicon::SetLatticeMobilityModelSentaurus(), Garfield::MediumCdTe::SetLowFieldMobility(), Garfield::MediumDiamond::SetLowFieldMobility(), Garfield::MediumGaAs::SetLowFieldMobility(), Garfield::MediumGaN::SetLowFieldMobility(), Garfield::MediumSilicon::SetLowFieldMobility(), SetMassDensity(), Garfield::MediumMagboltz::SetMaxElectronEnergy(), Garfield::MediumSilicon::SetMaxElectronEnergy(), Garfield::MediumMagboltz::SetMaxPhotonEnergy(), SetNumberDensity(), SetPressure(), Garfield::MediumSilicon::SetSaturationVelocity(), Garfield::MediumSilicon::SetSaturationVelocityModelCanali(), Garfield::MediumSilicon::SetSaturationVelocityModelMinimos(), Garfield::MediumSilicon::SetSaturationVelocityModelReggiani(), Garfield::MediumMagboltz::SetSplittingFunctionGreenSawada(), SetTemperature(), Garfield::MediumSilicon::SetTrapCrossSection(), Garfield::MediumSilicon::SetTrapDensity(), Garfield::MediumSilicon::SetTrappingTime(), Garfield::MediumCdTe::UnsetLowFieldMobility(), Garfield::MediumDiamond::UnsetLowFieldMobility(), Garfield::MediumGaAs::UnsetLowFieldMobility(), and Garfield::MediumGaN::UnsetLowFieldMobility().
|
protected |
Definition at line 612 of file Medium.hh.
Referenced by IonDissociation(), Garfield::MediumGas::LoadGasFile(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 559 of file Medium.hh.
Referenced by IsMicroscopic(), Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), Garfield::MediumMagboltz::MediumMagboltz(), and Garfield::MediumSilicon::MediumSilicon().
|
protected |
Definition at line 538 of file Medium.hh.
Referenced by Garfield::MediumGas::EnablePenningTransfer(), GetComponent(), GetName(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumConductor::MediumConductor(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), Garfield::MediumGas::MediumGas(), Garfield::MediumPlastic::MediumPlastic(), Garfield::MediumSilicon::MediumSilicon(), Garfield::MediumGas::PrintGas(), and Garfield::MediumGas::SetComposition().
|
protected |
Definition at line 536 of file Medium.hh.
Referenced by Garfield::MediumGas::DisablePenningTransfer(), Garfield::MediumMagboltz::DisablePenningTransfer(), Garfield::MediumGas::EnablePenningTransfer(), Garfield::MediumGas::EnablePenningTransfer(), Garfield::MediumMagboltz::EnablePenningTransfer(), Garfield::MediumMagboltz::GenerateGasTable(), Garfield::MediumGas::GetAtomicNumber(), Garfield::MediumGas::GetAtomicWeight(), GetComponent(), Garfield::MediumGas::GetComponent(), GetDielectricFunction(), GetNumberOfComponents(), GetOpticalDataRange(), Garfield::MediumGas::GetPenningTransfer(), GetPhotoAbsorptionCrossSection(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumMagboltz::MediumMagboltz(), Garfield::MediumGas::MergeGasFile(), Garfield::MediumMagboltz::PlotElectronCrossSections(), Garfield::MediumGas::PrintGas(), Garfield::MediumMagboltz::RunMagboltz(), Garfield::MediumGas::SetComposition(), Garfield::MediumMagboltz::SetExcitationScaling(), Garfield::MediumMagboltz::SetSplittingFunctionGreenSawada(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 605 of file Medium.hh.
Referenced by GetNegativeIonMobility(), NegativeIonMobility(), NegativeIonVelocity(), ResetNegativeIonMobility(), SetIonMobility(), and SetNegativeIonMobility().
|
protected |
Definition at line 542 of file Medium.hh.
Referenced by Garfield::MediumGas::AdjustTownsendCoefficient(), Garfield::MediumGas::EnablePenningTransfer(), Garfield::MediumMagboltz::GenerateGasTable(), Garfield::MediumGas::GetNumberDensity(), GetPressure(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MediumGas(), Garfield::MediumMagboltz::MediumMagboltz(), Garfield::MediumGas::PrintGas(), Garfield::MediumMagboltz::RunMagboltz(), Garfield::MediumGas::ScaleAttachment(), Garfield::MediumGas::ScaleDiffusion(), Garfield::MediumGas::ScaleDiffusionTensor(), Garfield::MediumGas::ScaleElectricField(), Garfield::MediumGas::ScaleLorentzAngle(), Garfield::MediumGas::ScaleTownsend(), SetPressure(), and Garfield::MediumGas::UnScaleElectricField().
|
protected |
Definition at line 569 of file Medium.hh.
Referenced by Alpha(), Diffusion(), Diffusion(), ElectronLorentzAngle(), Interpolate(), IonVelocity(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MergeGasFile(), NegativeIonVelocity(), SetFieldGrid(), SetIonMobility(), and Garfield::MediumGas::WriteGasFile().
|
protected |
Definition at line 540 of file Medium.hh.
Referenced by Diffusion(), Garfield::MediumMagboltz::GenerateGasTable(), Garfield::MediumGas::GetNumberDensity(), GetTemperature(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumGas::MediumGas(), Garfield::MediumMagboltz::MediumMagboltz(), Garfield::MediumGas::PrintGas(), Garfield::MediumMagboltz::RunMagboltz(), and SetTemperature().
|
protected |
Definition at line 553 of file Medium.hh.
Referenced by GetW(), Garfield::MediumGas::LoadGasFile(), Garfield::MediumCdTe::MediumCdTe(), Garfield::MediumDiamond::MediumDiamond(), Garfield::MediumGaAs::MediumGaAs(), Garfield::MediumGaN::MediumGaN(), Garfield::MediumGas::MediumGas(), Garfield::MediumSilicon::MediumSilicon(), Garfield::MediumGas::SetComposition(), and SetW().
|
protected |
Definition at line 546 of file Medium.hh.
Referenced by GetAtomicNumber(), and SetAtomicNumber().