![]() |
Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
|
Namespaces | |
| namespace | Degrade |
| namespace | Magboltz |
| namespace | Numerics |
| Collection of numerical routines. | |
| namespace | Polygon |
Classes | |
| class | AvalancheGrid |
| Calculate avalanches in a uniform electric field using avalanche statistics. More... | |
| class | AvalancheGridSpaceCharge |
| Propagates avalanches with the 2d (axi-symmetric) space-charge routine from Lippmann, Riegler (2004) in uniform background fields. More... | |
| class | AvalancheMC |
| Calculate drift lines and avalanches based on macroscopic transport coefficients, using Monte Carlo integration. More... | |
| class | AvalancheMicroscopic |
| Calculate electron drift lines and avalanches using microscopic tracking. More... | |
| class | Component |
| Abstract base class for components. More... | |
| class | ComponentAnalyticField |
| Semi-analytic calculation of two-dimensional configurations consisting of wires, planes, and tubes. More... | |
| class | ComponentAnsys121 |
| Component for importing and interpolating two-dimensional ANSYS field maps. More... | |
| class | ComponentAnsys123 |
| Component for importing and interpolating three-dimensional ANSYS field maps. More... | |
| class | ComponentChargedRing |
| Component for calculating the field of a system of charged r,z rings. More... | |
| class | ComponentComsol |
| Component for importing and interpolating Comsol field maps. More... | |
| class | ComponentConstant |
| Component with constant electric field. More... | |
| class | ComponentCST |
| Component for importing and interpolating field maps from CST. More... | |
| class | ComponentElmer |
| Component for importing field maps computed by Elmer. More... | |
| class | ComponentElmer2d |
| Component for importing two-dimensional field maps computed by Elmer. More... | |
| class | ComponentFieldMap |
| Base class for components based on finite-element field maps. More... | |
| class | ComponentGrid |
| Component for interpolating field maps on a regular mesh. More... | |
| class | ComponentNeBem2d |
| Two-dimensional implementation of the nearly exact Boundary Element Method. More... | |
| class | ComponentNeBem3d |
| Interface to neBEM. More... | |
| class | ComponentNeBem3dMap |
| Component for interpolating field maps stored in a mesh generated by neBEM. More... | |
| class | ComponentParallelPlate |
| Component for parallel-plate geometries. More... | |
| class | ComponentTcad2d |
| Interpolation in a two-dimensional field map created by Sentaurus Device. More... | |
| class | ComponentTcad3d |
| Interpolation in a three-dimensional field map created by Sentaurus Device. More... | |
| class | ComponentTcadBase |
| Interpolation in a field map created by Sentaurus Device. More... | |
| class | ComponentUser |
| Simple component with electric field given by a user function. More... | |
| class | ComponentVoxel |
| Component for interpolating field maps stored in a regular mesh. More... | |
| class | DriftLineRKF |
| Calculation of drift lines based on macroscopic transport coefficients using Runge-Kutta-Fehlberg integration. More... | |
| class | Geometry |
| Abstract base class for geometry classes. More... | |
| class | GeometryRoot |
| Use a geometry defined using the ROOT TGeo package. More... | |
| class | GeometrySimple |
| "Native" geometry, using simple shapes. More... | |
| class | KDTree |
| Main k-d tree class. More... | |
| class | KDTreeNode |
| A node in the k-d tree. More... | |
| struct | KDTreeResult |
| Search result. More... | |
| class | Medium |
| Abstract base class for components. More... | |
| class | MediumCdTe |
| Cadmium-Telluride. More... | |
| class | MediumConductor |
| Conducting medium. More... | |
| class | MediumDiamond |
| Diamond. More... | |
| class | MediumGaAs |
| Gallium-Arsenide. More... | |
| class | MediumGaN |
| Gallium-Nitride. More... | |
| class | MediumGas |
| Base class for gas media. More... | |
| class | MediumMagboltz |
| Interface to Magboltz (version 11). More... | |
| class | MediumPlastic |
| Plastic medium. More... | |
| class | MediumSilicon |
| Solid crystalline silicon More... | |
| class | OpticalData |
| Photoabsorption cross-sections for some gases. More... | |
| struct | Panel |
| Surface panel. More... | |
| class | PlottingEngine |
| Plotting style. More... | |
| class | QuadTree |
| Quadtree search. More... | |
| class | Random |
| class | RandomEngine |
| Abstract base class for random number generators. More... | |
| class | RandomEngineRoot |
| class | RandomEngineSTL |
| class | Sensor |
| Sensor. More... | |
| class | Shaper |
| Class for signal processing. More... | |
| class | Solid |
| Abstract base class for solids. More... | |
| class | SolidBox |
| Box. More... | |
| class | SolidExtrusion |
| Extrusion. More... | |
| class | SolidHole |
| Box with a cylindrical hole. More... | |
| class | SolidRidge |
| Triangular prism (Toblerone bar). More... | |
| class | SolidSphere |
| Sphere. More... | |
| class | SolidTube |
| Cylindrical tube. More... | |
| class | SolidWire |
| Wire. More... | |
| class | Track |
| Abstract base class for track generation. More... | |
| class | TrackBichsel |
| Generate tracks using differential cross-sections for silicon computed by Hans Bichsel. More... | |
| class | TrackDegrade |
| Interface to Degrade. More... | |
| class | TrackElectron |
| [WIP] Ionization calculation based on MIP program (S. Biagi). More... | |
| class | TrackHeed |
| Generate tracks using Heed++. More... | |
| class | TrackPAI |
| class | TrackSimple |
| Generate tracks based on a cluster density given by the user. More... | |
| class | TrackSrim |
| Generate tracks based on SRIM energy loss, range and straggling tables. More... | |
| class | TrackTrim |
| Generate tracks based on TRIM output files. More... | |
| class | Vec1Impl |
| class | Vec2Impl |
| class | Vec3Impl |
| class | Vector |
| class | ViewBase |
| Base class for visualization classes. More... | |
| class | ViewCell |
| Visualize the "cell" defined in an analytic-field component. More... | |
| class | ViewDrift |
| Visualize drift lines and tracks. More... | |
| class | ViewFEMesh |
| Draw the mesh of a field-map component. More... | |
| class | ViewField |
| Visualize the potential or electric field of a component or sensor. More... | |
| class | ViewGeometry |
| Visualize a geometry defined using the "native" shapes. More... | |
| class | ViewIsochrons |
| Draw equal time contour lines. More... | |
| class | ViewMedium |
| Plot transport coefficients as function of electric and magnetic field. More... | |
| class | ViewSignal |
| Plot the signal computed by a sensor as a ROOT histogram. More... | |
Typedefs | |
| typedef std::vector< std::vector< double > > | KDTreeArray |
| using | Vec3 = Vec3Impl<double> |
| using | Vec3D = Vec3Impl<double> |
| using | Vec3F = Vec3Impl<float> |
| using | ViewMesh = ViewFEMesh |
Enumerations | |
| enum class | Particle { Electron = 0 , Ion , Hole , Positron , NegativeIon , Photon } |
| enum class | MPRunMode { Normal = 0 , GPUExclusive } |
Functions | |
| double | RndmUniform () |
| Draw a random number uniformly distributed in the range [0, 1). | |
| double | RndmUniformPos () |
| Draw a random number uniformly distributed in the range (0, 1). | |
| std::pair< double, double > | RndmGaussians () |
| Draw two Gaussian random variates with mean zero and standard deviation one. | |
| double | RndmGaussian () |
| Draw a Gaussian random variate with mean zero and standard deviation one. | |
| std::pair< double, double > | RndmGaussians (const double mu, const double sigma) |
| Draw two Gaussian random variates with mean mu and standard deviation sigma. | |
| double | RndmGaussian (const double mu, const double sigma) |
| Draw a Gaussian random variate with mean mu and standard deviation sigma. | |
| double | RndmLorentzian (const double mu, const double gamma) |
| Draw a Lorentzian random variate with mean mu and half-width at half maximum gamma. | |
| double | RndmVoigt (const double mu, const double sigma, const double gamma) |
| Draw a random number according to a Voigt function with mean mu. | |
| unsigned int | RndmYuleFurry (const double mean) |
| Draw a random number from a geometric distribution. | |
| double | RndmPolya (const double theta) |
| Draw a Polya distributed random number. | |
| double | RndmLandau () |
| Draw a random number from a Landau distribution. | |
| double | RndmVavilov (const double rkappa, const double beta2) |
| Draw a random number from a Vavilov distribution. | |
| int | RndmPoisson (const double mean) |
| Draw a random number from a Poisson distribution. | |
| double | RndmHeedWF (const double w, const double f) |
| Draw a random energy needed to create a single electron in a material asymptotic work function W and Fano factor F, according to Igor Smirnov's phenomenological model. | |
| void | RndmDirection (double &dx, double &dy, double &dz, const double length=1.) |
| Draw a random (isotropic) direction vector. | |
| class | GARFIELD_CLASS_NAME (TetrahedralTree) |
| Helper class for searches in field maps. | |
| void | ltrim (std::string &line) |
| void | rtrim (std::string &line) |
| std::vector< std::string > | tokenize (const std::string &line) |
| bool | startsWith (const std::string &line, const std::string &s) |
Variables | |
| ComponentNeBem3d * | gComponentNeBem3d |
| typedef std::vector<std::vector<double> > Garfield::KDTreeArray |
| using Garfield::Vec3 = Vec3Impl<double> |
Definition at line 27 of file TetrahedralTree.hh.
| using Garfield::Vec3D = Vec3Impl<double> |
| using Garfield::Vec3F = Vec3Impl<float> |
| using Garfield::ViewMesh = ViewFEMesh |
Definition at line 163 of file ViewFEMesh.hh.
|
strong |
|
strong |
| Enumerator | |
|---|---|
| Electron | |
| Ion | |
| Hole | |
| Positron | |
| NegativeIon | |
| Photon | |
Definition at line 7 of file GarfieldConstants.hh.
| class Garfield::GARFIELD_CLASS_NAME | ( | TetrahedralTree | ) |
Helper class for searches in field maps.
This class stores the mesh nodes and elements in an Octree data structure to optimize the element search operations
Author: Ali Sheharyar
Organization: Texas A&M University at Qatar
Destructor
Insert a mesh element with given bounding box and index to the tree.
Create and initialise GPU Transfer class
Definition at line 1 of file TetrahedralTree.hh.
|
inline |
Definition at line 11 of file Utilities.hh.
|
inline |
Draw a random (isotropic) direction vector.
Definition at line 146 of file Random.hh.
|
inline |
Draw a Gaussian random variate with mean zero and standard deviation one.
Definition at line 51 of file Random.hh.
|
inline |
Draw a Gaussian random variate with mean mu and standard deviation sigma.
Definition at line 66 of file Random.hh.
|
inline |
Draw two Gaussian random variates with mean zero and standard deviation one.
Definition at line 36 of file Random.hh.
|
inline |
| double Garfield::RndmHeedWF | ( | const double | w, |
| const double | f ) |
Draw a random energy needed to create a single electron in a material asymptotic work function W and Fano factor F, according to Igor Smirnov's phenomenological model.
| double Garfield::RndmLandau | ( | ) |
Draw a random number from a Landau distribution.
|
inline |
Draw a Lorentzian random variate with mean mu and half-width at half maximum gamma.
| int Garfield::RndmPoisson | ( | const double | mean | ) |
Draw a random number from a Poisson distribution.
|
inline |
Draw a Polya distributed random number.
Definition at line 109 of file Random.hh.
|
inline |
|
inline |
Draw a random number uniformly distributed in the range (0, 1).
| double Garfield::RndmVavilov | ( | const double | rkappa, |
| const double | beta2 ) |
Draw a random number from a Vavilov distribution.
|
inline |
Draw a random number according to a Voigt function with mean mu.
The Voigt function is a convolution of a Gaussian (standard deviation sigma) and a Lorentzian (half width gamma).
Definition at line 80 of file Random.hh.
|
inline |
Draw a random number from a geometric distribution.
Definition at line 89 of file Random.hh.
|
inline |
Definition at line 17 of file Utilities.hh.
|
inline |
Definition at line 33 of file Utilities.hh.
|
inline |
Definition at line 24 of file Utilities.hh.
|
extern |