|
Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
Namespaces | |
| namespace | Magboltz |
| namespace | Numerics |
| Collection of numerical routines. | |
| namespace | Polygon |
Classes | |
| class | AvalancheMC |
| class | AvalancheMicroscopic |
| Calculate electron drift lines and avalanches using microscopic tracking. More... | |
| class | ComponentAnalyticField |
| 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 | ComponentBase |
| Abstract base class for components. More... | |
| class | ComponentComsol |
| Component for importing and interpolating Comsol field maps. More... | |
| class | ComponentConstant |
| Component with constant electric field. More... | |
| class | ComponentCST |
| class | ComponentElmer |
| Component for importing 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 | 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 | ComponentUser |
| Simple component with electric field given by a user function. More... | |
| class | ComponentUserMapBase |
| class | ComponentVoxel |
| Component for interpolating field maps stored in a regular mesh. More... | |
| class | DriftLineRKF |
| class | GeometryBase |
| 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 | HeedChamber |
| class | Medium |
| Abstract base class for media. More... | |
| class | MediumCdTe |
| Cadmium-Telluride. More... | |
| class | MediumConductor |
| Conducting medium. More... | |
| class | MediumGaAs |
| Gallium-Arsenide. More... | |
| class | MediumGas |
| Base class for gas media. More... | |
| class | MediumMagboltz |
| 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 |
| Abstract base class for plotting engines. More... | |
| class | PlottingEngineRoot |
| Definition of styles and color schemes. More... | |
| struct | PolygonInfo |
| Helper struct for drawing the mesh with ViewFEMesh. More... | |
| class | RandomEngine |
| Abstract base class for random number generators. More... | |
| class | RandomEngineRoot |
| ROOT random number generator. More... | |
| class | Sensor |
| Sensor More... | |
| class | Shaper |
| Class for signal processing. More... | |
| class | Solid |
| Abstract base class for solids. More... | |
| class | SolidBox |
| Box. 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 | TetrahedralTree |
| Helper class for searches in field maps. More... | |
| class | Track |
| Abstract base class for track generation. More... | |
| class | TrackBichsel |
| class | TrackElectron |
| Ionization calculation based on MIP program (S. Biagi). More... | |
| class | TrackHeed |
| Generate tracks using Heed++. More... | |
| class | TrackPAI |
| Energy loss calculation using the Photoabsorption-Ionisation Model. More... | |
| class | TrackSimple |
| Generate tracks based on a cluster density given by the user. More... | |
| class | TrackSrim |
| struct | Vec3 |
| 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 | |
| using | Vec = std::array< double, 3 > |
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). | |
| double | RndmGaussian () |
| Draw a Gaussian random variate with mean zero and standard deviation one. | |
| 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) |
| double | RndmVoigt (const double mu, const double sigma, const double gamma) |
| 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) |
| void | RndmDirection (double &dx, double &dy, double &dz, const double length=1.) |
| Draw a random (isotropic) direction vector. | |
| void | ltrim (std::string &line) |
| bool | ends_with (std::string s, std::string t) |
| int | readInt (std::string s) |
Variables | |
| PlottingEngineRoot | plottingEngine |
| RandomEngineRoot | randomEngine |
| Random number generator. | |
| using Garfield::Vec = typedef std::array<double, 3> |
Definition at line 43 of file DriftLineRKF.cc.
| bool Garfield::ends_with | ( | std::string | s, |
| std::string | t | ||
| ) |
Definition at line 25 of file ComponentComsol.cc.
Referenced by Garfield::ComponentComsol::Initialise().
|
inline |
Definition at line 10 of file Utilities.hh.
| int Garfield::readInt | ( | std::string | s | ) |
Definition at line 29 of file ComponentComsol.cc.
Referenced by Garfield::ComponentComsol::Initialise().
|
inline |
Draw a random (isotropic) direction vector.
Definition at line 107 of file Random.hh.
Referenced by Garfield::Medium::GetElectronCollision(), Garfield::MediumSilicon::GetElectronCollision(), Garfield::Medium::GetElectronMomentum(), Garfield::MediumSilicon::GetElectronMomentum(), Garfield::TrackBichsel::NewTrack(), Garfield::TrackElectron::NewTrack(), Garfield::TrackPAI::NewTrack(), Garfield::TrackSimple::NewTrack(), Garfield::TrackHeed::NewTrack(), Garfield::TrackSrim::NewTrack(), Garfield::TrackHeed::TransportDeltaElectron(), and Garfield::TrackHeed::TransportPhoton().
|
inline |
Draw a Gaussian random variate with mean zero and standard deviation one.
Definition at line 24 of file Random.hh.
Referenced by Garfield::Sensor::AddWhiteNoise(), Garfield::TrackSrim::NewTrack(), Garfield::TrackSrim::RndmEnergyLoss(), RndmGaussian(), RndmPoisson(), RndmVoigt(), and Heed::rnorm_improved().
|
inline |
Draw a Gaussian random variate with mean mu and standard deviation sigma.
Definition at line 47 of file Random.hh.
| 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.
Definition at line 699 of file Random.cc.
Referenced by Garfield::TrackSrim::NewTrack().
| double Garfield::RndmLandau | ( | ) |
Draw a random number from a Landau distribution.
Definition at line 104 of file Random.cc.
Referenced by Garfield::TrackSrim::RndmEnergyLoss().
|
inline |
Draw a Lorentzian random variate with mean mu and half-width at half maximum gamma.
Definition at line 53 of file Random.hh.
Referenced by RndmVoigt().
| int Garfield::RndmPoisson | ( | const double | mean | ) |
Draw a random number from a Poisson distribution.
Definition at line 664 of file Random.cc.
Referenced by Garfield::Sensor::AddWhiteNoise().
|
inline |
Draw a Polya distributed random number.
Definition at line 70 of file Random.hh.
|
inline |
Draw a random number uniformly distributed in the range [0, 1).
Definition at line 14 of file Random.hh.
Referenced by Garfield::Sensor::AddWhiteNoise(), Garfield::MediumSilicon::ComputeSecondaries(), Garfield::TrackBichsel::GetCluster(), Garfield::TrackElectron::GetCluster(), Garfield::TrackPAI::GetCluster(), Garfield::MediumMagboltz::GetElectronCollision(), Garfield::MediumSilicon::GetElectronCollision(), Garfield::MediumSilicon::GetElectronMomentum(), Garfield::MediumMagboltz::GetPhotonCollision(), Garfield::Polygon::Inside(), main(), RndmDirection(), RndmGaussian(), RndmHeedWF(), RndmLorentzian(), RndmPoisson(), RndmUniformPos(), and RndmVavilov().
|
inline |
Draw a random number uniformly distributed in the range (0, 1).
Definition at line 17 of file Random.hh.
Referenced by Garfield::MediumSilicon::ComputeSecondaries(), Garfield::TrackBichsel::GetCluster(), Garfield::TrackSimple::GetCluster(), Garfield::TrackElectron::GetCluster(), Garfield::TrackPAI::GetCluster(), Garfield::MediumMagboltz::GetElectronCollision(), RndmLandau(), and RndmPolya().
| double Garfield::RndmVavilov | ( | const double | rkappa, |
| const double | beta2 | ||
| ) |
Draw a random number from a Vavilov distribution.
Definition at line 300 of file Random.cc.
Referenced by Garfield::TrackSrim::RndmEnergyLoss().
|
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 61 of file Random.hh.
| PlottingEngineRoot Garfield::plottingEngine |
Definition at line 13 of file PlottingEngineRoot.cc.
Referenced by Garfield::ViewDrift::NewElectronDriftLine(), Garfield::ViewDrift::NewHoleDriftLine(), Garfield::ViewDrift::NewPhotonTrack(), Garfield::ViewSignal::PlotSignal(), Garfield::ViewBase::ViewBase(), and Garfield::ViewGeometry::ViewGeometry().
| RandomEngineRoot Garfield::randomEngine |
Random number generator.
Definition at line 6 of file RandomEngineRoot.cc.
Referenced by main(), and RndmUniform().