|
| | MediumSilicon () |
| | Constructor.
|
| virtual | ~MediumSilicon () |
| | Destructor.
|
| bool | IsSemiconductor () const override |
| | Is this medium a semiconductor?
|
| void | SetDoping (const char type, const double c) |
| | Set doping concentration [cm-3] and type ('i', 'n', 'p').
|
| void | GetDoping (char &type, double &c) const |
| | Retrieve doping concentration.
|
| void | SetTrapCrossSection (const double ecs, const double hcs) |
| | Trapping cross-sections for electrons and holes.
|
| void | SetTrapDensity (const double n) |
| | Trap density [cm-3], by default set to zero.
|
| void | SetTrappingTime (const double etau, const double htau) |
| | Set time constant for trapping of electrons and holes [ns].
|
| void | SetLowFieldMobility (const double mue, const double muh) |
| | Specify the low field values of the electron and hole mobilities.
|
| void | SetLatticeMobilityModel (const std::string &model) |
| | Set the parameterisation to be used for calculating the lattice mobility model.
|
| void | SetLatticeMobilityModelMinimos () |
| | Calculate the lattice mobility using the Minimos model.
|
| void | SetLatticeMobilityModelSentaurus () |
| | Calculate the lattice mobility using the Sentaurus model (default).
|
| void | SetLatticeMobilityModelReggiani () |
| | Calculate the lattice mobility using the Reggiani model.
|
| void | SetDopingMobilityModelMinimos () |
| | Use the Minimos model for the doping-dependence of the mobility.
|
| void | SetDopingMobilityModelMasetti () |
| | Use the Masetti model for the doping-dependence of the mobility (default).
|
| void | SetSaturationVelocity (const double vsate, const double vsath) |
| | Specify the saturation velocities of electrons and holes.
|
| void | SetSaturationVelocityModelMinimos () |
| | Calculate the saturation velocities using the Minimos model.
|
| void | SetSaturationVelocityModelCanali () |
| | Calculate the saturation velocities using the Canali model (default).
|
| void | SetSaturationVelocityModelReggiani () |
| | Calculate the saturation velocities using the Reggiani model.
|
| void | SetHighFieldMobilityModel (const std::string &model) |
| | Set the parameterisation to be used for the drift velocity as function of the electric field.
|
| void | SetHighFieldMobilityModelMinimos () |
| | Parameterize the high-field mobility using the Minimos model.
|
| void | SetHighFieldMobilityModelCanali () |
| | Parameterize the high-field mobility using the Canali model (default).
|
| void | SetHighFieldMobilityModelReggiani () |
| | Parameterize the high-field mobility using the Reggiani model.
|
| void | SetHighFieldMobilityModelConstant () |
| | Make the velocity proportional to the electric field (no saturation).
|
| void | SetImpactIonisationModel (const std::string &model) |
| | Set the parameterisation to be used for calculating the impact ionisation coefficient.
|
| void | SetImpactIonisationModelVanOverstraetenDeMan () |
| | Calculate α using the van Overstraeten-de Man model (default).
|
| void | SetImpactIonisationModelGrant () |
| | Calculate α using the Grant model.
|
| void | SetImpactIonisationModelMassey () |
| | Calculate α using the Massey model.
|
| void | SetImpactIonisationModelOkutoCrowell () |
| | Calculate α using the Okuto-Crowell model.
|
| void | SetDiffusionScaling (const double d) |
| | Apply a scaling factor to the diffusion coefficients.
|
| bool | SetMaxElectronEnergy (const double e) |
| double | GetMaxElectronEnergy () const |
| bool | Initialise () |
| void | EnableScatteringRateOutput (const bool on=true) |
| void | EnableNonParabolicity (const bool on=true) |
| void | EnableFullBandDensityOfStates (const bool on=true) |
| void | EnableAnisotropy (const bool on=true) |
| 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) override |
| | Drift velocity [cm / ns].
|
| bool | ElectronTownsend (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &alpha) override |
| | Ionisation coefficient [cm-1].
|
| bool | ElectronAttachment (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &eta) override |
| | Attachment coefficient [cm-1].
|
| double | ElectronMobility () override |
| | Low-field mobility [cm2 V-1 ns-1].
|
| 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) override |
| | Drift velocity [cm / ns].
|
| bool | HoleTownsend (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &alpha) override |
| | Ionisation coefficient [cm-1].
|
| bool | HoleAttachment (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &eta) override |
| | Attachment coefficient [cm-1].
|
| double | HoleMobility () override |
| | Low-field mobility [cm2 V-1 ns-1].
|
| double | GetElectronEnergy (const double px, const double py, const double pz, double &vx, double &vy, double &vz, const int band=0) override |
| | Dispersion relation (energy vs. wave vector)
|
| void | GetElectronMomentum (const double e, double &px, double &py, double &pz, int &band) override |
| | Sample the momentum vector for a given energy (only meaningful in semiconductors).
|
| double | GetElectronNullCollisionRate (const int band) override |
| | Null-collision rate [ns-1].
|
| double | GetElectronCollisionRate (const double e, const int band) override |
| | Collision rate [ns-1] for given electron energy.
|
| bool | ElectronCollision (const double e, int &type, int &level, double &e1, double &dx, double &dy, double &dz, std::vector< Secondary > &secondaries, int &band) override |
| | Sample the collision type. Update energy and direction vector.
|
| void | ResetCollisionCounters () |
| unsigned int | GetNumberOfElectronCollisions () const |
| unsigned int | GetNumberOfLevels () const |
| unsigned int | GetNumberOfElectronCollisions (const unsigned int level) const |
| unsigned int | GetNumberOfElectronBands () const |
| int | GetElectronBandPopulation (const int band) |
| bool | GetOpticalDataRange (double &emin, double &emax, const unsigned int i=0) override |
| | Get the energy range [eV] of the available optical data.
|
| bool | GetDielectricFunction (const double e, double &eps1, double &eps2, const unsigned int i=0) override |
| | Get the complex dielectric function at a given energy.
|
| void | ComputeSecondaries (const double e0, double &ee, double &eh) |
| | 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 | 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 | ElectronVelocityFluxBulk (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &wv, double &wr) |
| | Flux (mean velocity; shorthand: wv) and bulk (center of mass velocity; shorthand: wr) 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]) |
| | Diffusion tensor: diagonal elements are the diffusion coefficients [cm] along e, btrans, e x b, off-diagonal elements are the covariances.
|
| virtual bool | ElectronTOFIonisation (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &riontof) |
| | TOF Ionisation rate [ns-1].
|
| virtual bool | ElectronTOFAttachment (const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &ratttof) |
| | TOF Attachment Rate [ns-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 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 | 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].
|
| bool | HasIonVelocity () const |
| 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 | SetElectronFluxVelocity (const size_t ie, const size_t ib, const size_t ia, const double v) |
| | Set an entry in the table of flux drift speeds.
|
| bool | GetElectronFluxVelocity (const size_t ie, const size_t ib, const size_t ia, double &v) |
| | Get an entry in the table of flux drift speeds.
|
| bool | SetElectronBulkVelocity (const size_t ie, const size_t ib, const size_t ia, const double v) |
| | Set an entry in the table of bulk drift speeds.
|
| bool | GetElectronBulkVelocity (const size_t ie, const size_t ib, const size_t ia, double &v) |
| | Get an entry in the table of bulk drift speeds.
|
| 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 | SetElectronTOFIonisation (const size_t ie, const size_t ib, const size_t ia, const double v) |
| | Set an entry in the table of ionization rate of TOF.
|
| bool | GetElectronTOFIonisation (const size_t ie, const size_t ib, const size_t ia, double &v) |
| | Get an entry in the table of ionization rate of TOF.
|
| bool | SetElectronTOFAttachment (const size_t ie, const size_t ib, const size_t ia, const double v) |
| | Set an entry in the table of attachment rate of TOF.
|
| bool | GetElectronTOFAttachment (const size_t ie, const size_t ib, const size_t ia, double &v) |
| | Get an entry in the table of attachment rate of TOF.
|
| 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) |
| | Initialise the table of ion mobilities from a list of electric fields and corresponding mobilities.
|
| 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 | ResetElectronTOFRates () |
| void | ResetElectronLorentzAngle () |
| void | ResetHoleVelocity () |
| void | ResetHoleDiffusion () |
| void | ResetHoleTownsend () |
| void | ResetHoleAttachment () |
| void | ResetIonMobility () |
| void | ResetIonDiffusion () |
| void | ResetIonDissociation () |
| void | ResetNegativeIonMobility () |
| void | VelocityFromMobility (const std::vector< std::vector< std::vector< double > > > &mob, std::vector< std::vector< std::vector< double > > > &vel) |
| void | SetExtrapolationMethodVelocity (const std::string &extrLow, const std::string &extrHigh) |
| | Select the extrapolation method for fields below/above the table range.
|
| 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 | GetPhotoAbsorptionCrossSection (const double e, double &sigma, const unsigned int i=0) |
| virtual double | GetPhotonCollisionRate (const double e) |
| virtual bool | PhotonCollision (const double e, int &type, int &level, double &e1, double &ctheta, std::vector< Secondary > &secondaries) |
| void | EnableDebugging () |
| | Switch on/off debugging messages.
|
| void | DisableDebugging () |
| virtual double | CreateGPUTransferObject (MediumGPU *&med_gpu) |
| | Create and initialise GPU Transfer class.
|
|
| 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 | VelocityFluxBulk (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 > > > &velWv, const std::vector< std::vector< std::vector< double > > > &velWr, double &wv, double &wr) 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 bool logval=false) 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 logval=false) 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 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) |
| std::string | m_className = "Medium" |
| 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. |
| int | m_id |
| bool | m_driftable = false |
| bool | m_microscopic = false |
| bool | m_ionisable = false |
| double | m_w = 0. |
| double | m_fano = 0. |
| 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< double > > > | m_eVelWv |
| std::vector< std::vector< std::vector< double > > > | m_eVelWr |
| std::vector< std::vector< std::vector< double > > > | m_eRIon |
| std::vector< std::vector< std::vector< double > > > | m_eRAtt |
| 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_iVel |
| 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 |
| std::vector< std::vector< std::vector< double > > > | m_nVel |
| 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 int | m_idCounter |