Garfield++ v1r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <MediumCdTe.hh>
Public Member Functions | |
MediumCdTe () | |
~MediumCdTe () | |
bool | IsSemiconductor () const |
void | GetComponent (const unsigned int &i, std::string &label, double &f) |
void | SetTrapCrossSection (const double ecs, const double hcs) |
void | SetTrapDensity (const double n) |
void | SetTrappingTime (const double etau, const double htau) |
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) |
bool | ElectronTownsend (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &alpha) |
bool | ElectronAttachment (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &eta) |
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) |
bool | HoleTownsend (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &alpha) |
bool | HoleAttachment (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &eta) |
void | SetLowFieldMobility (const double mue, const double muh) |
void | SetSaturationVelocity (const double vsate, const double vsath) |
bool | GetOpticalDataRange (double &emin, double &emax, const unsigned int &i=0) |
bool | GetDielectricFunction (const double &e, double &eps1, double &eps2, const unsigned int &i=0) |
![]() | |
Medium () | |
virtual | ~Medium () |
int | GetId () const |
std::string | GetName () const |
virtual bool | IsGas () const |
virtual bool | IsSemiconductor () const |
void | SetTemperature (const double &t) |
double | GetTemperature () const |
void | SetPressure (const double &p) |
double | GetPressure () const |
void | SetDielectricConstant (const double &eps) |
double | GetDielectricConstant () const |
unsigned int | GetNumberOfComponents () const |
virtual void | GetComponent (const unsigned int &i, std::string &label, double &f) |
virtual void | SetAtomicNumber (const double &z) |
virtual double | GetAtomicNumber () const |
virtual void | SetAtomicWeight (const double &a) |
virtual double | GetAtomicWeight () const |
virtual void | SetNumberDensity (const double &n) |
virtual double | GetNumberDensity () const |
virtual void | SetMassDensity (const double &rho) |
virtual double | GetMassDensity () const |
virtual void | EnableDrift () |
void | DisableDrift () |
virtual void | EnablePrimaryIonisation () |
void | DisablePrimaryIonisation () |
bool | IsDriftable () const |
bool | IsMicroscopic () const |
bool | IsIonisable () const |
void | SetW (const double &w) |
double | GetW () |
void | SetFanoFactor (const double &f) |
double | GetFanoFactor () |
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) |
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) |
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) |
virtual bool | ElectronAttachment (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &eta) |
virtual double | GetElectronEnergy (const double px, const double py, const double pz, double &vx, double &vy, double &vz, const int band=0) |
virtual void | GetElectronMomentum (const double e, double &px, double &py, double &pz, int &band) |
virtual double | GetElectronNullCollisionRate (const int band=0) |
virtual double | GetElectronCollisionRate (const double e, const int band=0) |
virtual bool | GetElectronCollision (const double e, int &type, int &level, double &e1, double &dx, double &dy, double &dz, int &nion, int &ndxc, int &band) |
virtual int | GetNumberOfIonisationProducts () |
virtual bool | GetIonisationProduct (const int i, int &type, double &energy) |
virtual int | GetNumberOfDeexcitationProducts () |
virtual bool | GetDeexcitationProduct (const int i, double &t, double &s, int &type, double &energy) |
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) |
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) |
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]) |
virtual bool | HoleTownsend (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &alpha) |
virtual bool | HoleAttachment (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &eta) |
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) |
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) |
virtual bool | IonDissociation (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &diss) |
void | SetFieldGrid (double emin, double emax, int ne, bool logE, double bmin=0., double bmax=0., int nb=1, double amin=0., double amax=0., int na=1) |
void | SetFieldGrid (const std::vector< double > &efields, const std::vector< double > &bfields, const std::vector< double > &angles) |
void | GetFieldGrid (std::vector< double > &efields, std::vector< double > &bfields, std::vector< double > &angles) |
bool | GetElectronVelocityE (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &v) |
bool | GetElectronVelocityExB (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &v) |
bool | GetElectronVelocityB (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &v) |
bool | GetElectronLongitudinalDiffusion (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &dl) |
bool | GetElectronTransverseDiffusion (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &dt) |
bool | GetElectronTownsend (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &alpha) |
bool | GetElectronAttachment (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &eta) |
bool | GetHoleVelocityE (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &v) |
bool | GetHoleVelocityExB (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &v) |
bool | GetHoleVelocityB (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &v) |
bool | GetHoleLongitudinalDiffusion (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &dl) |
bool | GetHoleTransverseDiffusion (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &dt) |
bool | GetHoleTownsend (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &alpha) |
bool | GetHoleAttachment (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &eta) |
bool | GetIonMobility (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &mu) |
bool | GetIonLongitudinalDiffusion (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &dl) |
bool | GetIonTransverseDiffusion (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &dt) |
bool | GetIonDissociation (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, double &diss) |
void | ResetElectronVelocity () |
void | ResetElectronDiffusion () |
void | ResetElectronTownsend () |
void | ResetElectronAttachment () |
void | ResetHoleVelocity () |
void | ResetHoleDiffusion () |
void | ResetHoleTownsend () |
void | ResetHoleAttachment () |
void | ResetIonMobility () |
void | ResetIonDiffusion () |
void | ResetIonDissociation () |
bool | SetIonMobility (const unsigned int &ie, const unsigned int &ib, const unsigned int &ia, const double &mu) |
bool | SetIonMobility (const std::vector< double > &fields, const std::vector< double > &mobilities) |
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) |
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 | ScaleDissociation (const double &diss) const |
virtual bool | GetOpticalDataRange (double &emin, double &emax, const unsigned int &i=0) |
virtual bool | GetDielectricFunction (const double &e, double &eps1, double &eps2, const unsigned int &i=0) |
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 () |
void | DisableDebugging () |
Additional Inherited Members | |
![]() | |
double | Interpolate1D (const double &e, const std::vector< double > &table, const std::vector< double > &fields, const unsigned int &intpMeth, const int &jExtr, const int &iExtr) |
bool | GetExtrapolationIndex (std::string extrStr, unsigned int &extrNb) |
void | CloneTable (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 unsigned int &extrLow, const unsigned int &extrHigh, const double init, const std::string label) |
void | CloneTensor (std::vector< std::vector< std::vector< std::vector< double > > > > &tab, const unsigned int &n, const std::vector< double > &efields, const std::vector< double > &bfields, const std::vector< double > &angles, const unsigned int &intp, const unsigned int &extrLow, const unsigned int &extrHigh, const double &init, const std::string &label) |
void | InitParamArrays (const unsigned int &eRes, const unsigned int &bRes, const unsigned int &aRes, std::vector< std::vector< std::vector< double > > > &tab, const double &val) |
void | InitParamTensor (const unsigned int &eRes, const unsigned int &bRes, const unsigned int &aRes, const unsigned int &tRes, std::vector< std::vector< std::vector< std::vector< double > > > > &tab, const double &val) |
![]() | |
std::string | m_className |
int | m_id |
std::string | m_name |
double | m_temperature |
double | m_pressure |
double | m_epsilon |
unsigned int | m_nComponents |
double | m_z |
double | m_a |
double | m_density |
bool | m_driftable |
bool | m_microscopic |
bool | m_ionisable |
double | m_w |
double | m_fano |
bool | m_isChanged |
bool | m_debug |
unsigned int | m_nEfields |
unsigned int | m_nBfields |
unsigned int | m_nAngles |
std::vector< double > | eFields |
std::vector< double > | bFields |
std::vector< double > | bAngles |
bool | m_map2d |
bool | m_hasElectronVelocityE |
bool | m_hasElectronVelocityB |
bool | m_hasElectronVelocityExB |
bool | m_hasElectronDiffLong |
bool | m_hasElectronDiffTrans |
bool | m_hasElectronDiffTens |
bool | m_hasElectronTownsend |
bool | m_hasElectronAttachment |
std::vector< std::vector< std::vector< double > > > | tabElectronVelocityE |
std::vector< std::vector< std::vector< double > > > | tabElectronVelocityExB |
std::vector< std::vector< std::vector< double > > > | tabElectronVelocityB |
std::vector< std::vector< std::vector< double > > > | tabElectronDiffLong |
std::vector< std::vector< std::vector< double > > > | tabElectronDiffTrans |
std::vector< std::vector< std::vector< double > > > | tabElectronTownsend |
std::vector< std::vector< std::vector< double > > > | tabElectronAttachment |
std::vector< std::vector< std::vector< std::vector< double > > > > | tabElectronDiffTens |
bool | m_hasHoleVelocityE |
bool | m_hasHoleVelocityB |
bool | m_hasHoleVelocityExB |
bool | m_hasHoleDiffLong |
bool | m_hasHoleDiffTrans |
bool | m_hasHoleDiffTens |
bool | m_hasHoleTownsend |
bool | m_hasHoleAttachment |
std::vector< std::vector< std::vector< double > > > | tabHoleVelocityE |
std::vector< std::vector< std::vector< double > > > | tabHoleVelocityExB |
std::vector< std::vector< std::vector< double > > > | tabHoleVelocityB |
std::vector< std::vector< std::vector< double > > > | tabHoleDiffLong |
std::vector< std::vector< std::vector< double > > > | tabHoleDiffTrans |
std::vector< std::vector< std::vector< double > > > | tabHoleTownsend |
std::vector< std::vector< std::vector< double > > > | tabHoleAttachment |
std::vector< std::vector< std::vector< std::vector< double > > > > | tabHoleDiffTens |
bool | m_hasIonMobility |
bool | m_hasIonDiffLong |
bool | m_hasIonDiffTrans |
bool | m_hasIonDissociation |
std::vector< std::vector< std::vector< double > > > | tabIonMobility |
std::vector< std::vector< std::vector< double > > > | tabIonDiffLong |
std::vector< std::vector< std::vector< double > > > | tabIonDiffTrans |
std::vector< std::vector< std::vector< double > > > | tabIonDissociation |
int | thrElectronTownsend |
int | thrElectronAttachment |
int | thrHoleTownsend |
int | thrHoleAttachment |
int | thrIonDissociation |
unsigned int | m_extrLowVelocity |
unsigned int | m_extrHighVelocity |
unsigned int | m_extrLowDiffusion |
unsigned int | m_extrHighDiffusion |
unsigned int | m_extrLowTownsend |
unsigned int | m_extrHighTownsend |
unsigned int | m_extrLowAttachment |
unsigned int | m_extrHighAttachment |
unsigned int | m_extrLowMobility |
unsigned int | m_extrHighMobility |
unsigned int | m_extrLowDissociation |
unsigned int | m_extrHighDissociation |
unsigned int | m_intpVelocity |
unsigned int | m_intpDiffusion |
unsigned int | m_intpTownsend |
unsigned int | m_intpAttachment |
unsigned int | m_intpMobility |
unsigned int | m_intpDissociation |
![]() | |
static int | m_idCounter = -1 |
Definition at line 9 of file MediumCdTe.hh.
Garfield::MediumCdTe::MediumCdTe | ( | ) |
Definition at line 15 of file MediumCdTe.cc.
|
inline |
Definition at line 15 of file MediumCdTe.hh.
|
virtual |
Reimplemented from Garfield::Medium.
Definition at line 163 of file MediumCdTe.cc.
|
virtual |
Reimplemented from Garfield::Medium.
Definition at line 150 of file MediumCdTe.cc.
|
virtual |
Reimplemented from Garfield::Medium.
Definition at line 119 of file MediumCdTe.cc.
Referenced by ElectronAttachment().
|
virtual |
Reimplemented from Garfield::Medium.
Definition at line 53 of file MediumCdTe.cc.
|
virtual |
Reimplemented from Garfield::Medium.
Definition at line 318 of file MediumCdTe.cc.
|
virtual |
Reimplemented from Garfield::Medium.
Definition at line 291 of file MediumCdTe.cc.
|
virtual |
Reimplemented from Garfield::Medium.
Definition at line 235 of file MediumCdTe.cc.
|
virtual |
Reimplemented from Garfield::Medium.
Definition at line 223 of file MediumCdTe.cc.
|
virtual |
Reimplemented from Garfield::Medium.
Definition at line 194 of file MediumCdTe.cc.
Referenced by HoleAttachment().
|
inlinevirtual |
Reimplemented from Garfield::Medium.
Definition at line 17 of file MediumCdTe.hh.
void Garfield::MediumCdTe::SetLowFieldMobility | ( | const double | mue, |
const double | muh | ||
) |
Definition at line 263 of file MediumCdTe.cc.
void Garfield::MediumCdTe::SetSaturationVelocity | ( | const double | vsate, |
const double | vsath | ||
) |
Definition at line 277 of file MediumCdTe.cc.
void Garfield::MediumCdTe::SetTrapCrossSection | ( | const double | ecs, |
const double | hcs | ||
) |
Definition at line 65 of file MediumCdTe.cc.
void Garfield::MediumCdTe::SetTrapDensity | ( | const double | n | ) |
Definition at line 85 of file MediumCdTe.cc.
void Garfield::MediumCdTe::SetTrappingTime | ( | const double | etau, |
const double | htau | ||
) |
Definition at line 99 of file MediumCdTe.cc.