Garfield++ v2r0
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. | |
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 two-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 | ComponentNeBem2d |
Two-dimensional implementation of the nearly exact Boundary Element Method. 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... | |
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 | Solid |
Abstract base class for solids. More... | |
class | SolidBox |
Box. 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 | 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 | 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... | |
Functions | |
double | InterpolateBinarySearch (const std::vector< double > &x, const std::vector< double > &y, const double x0) |
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. | |
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. | |
bool | ends_with (std::string s, std::string t) |
int | readInt (std::string s) |
Variables | |
PlottingEngineRoot | plottingEngine |
RandomEngineRoot | randomEngine |
Random number generator. | |
bool Garfield::ends_with | ( | std::string | s, |
std::string | t | ||
) |
Definition at line 27 of file ComponentComsol.cc.
Referenced by Garfield::ComponentComsol::Initialise().
|
inline |
Definition at line 92 of file Numerics.hh.
int Garfield::readInt | ( | std::string | s | ) |
Definition at line 31 of file ComponentComsol.cc.
Referenced by Garfield::ComponentComsol::Initialise().
void Garfield::RndmDirection | ( | double & | dx, |
double & | dy, | ||
double & | dz, | ||
const double | length = 1. |
||
) |
Draw a random (isotropic) direction vector.
Definition at line 106 of file Random.hh.
Referenced by Garfield::Medium::GetElectronCollision(), Garfield::MediumSilicon::GetElectronCollision(), Garfield::Medium::GetElectronMomentum(), Garfield::MediumSilicon::GetElectronMomentum(), Garfield::TrackBichsel::NewTrack(), Garfield::TrackHeed::NewTrack(), Garfield::TrackPAI::NewTrack(), Garfield::TrackSimple::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 25 of file Random.hh.
Referenced by Garfield::TrackSrim::NewTrack(), Garfield::TrackSrim::RndmEnergyLoss(), RndmGaussian(), RndmVoigt(), and Heed::rnorm_improved().
|
inline |
Draw a Gaussian random variate with mean mu and standard deviation sigma.
Definition at line 49 of file Random.hh.
double Garfield::RndmHeedWF | ( | const double | w, |
const double | f | ||
) |
Definition at line 659 of file Random.cc.
Referenced by Garfield::TrackSrim::NewTrack().
double Garfield::RndmLandau | ( | ) |
Draw a random number from a Landau distribution.
Definition at line 87 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 56 of file Random.hh.
Referenced by RndmVoigt().
|
inline |
Draw a Polya distributed random number.
Definition at line 75 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::MediumSilicon::ComputeSecondaries(), Garfield::TrackBichsel::GetCluster(), Garfield::TrackElectron::GetCluster(), Garfield::TrackPAI::GetCluster(), Garfield::MediumMagboltz::GetElectronCollision(), Garfield::MediumSilicon::GetElectronCollision(), Garfield::MediumSilicon::GetElectronMomentum(), Garfield::MediumMagboltz::GetPhotonCollision(), Garfield::TrackElectron::NewTrack(), RndmDirection(), RndmGaussian(), RndmHeedWF(), RndmLorentzian(), 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 283 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 65 of file Random.hh.
PlottingEngineRoot Garfield::plottingEngine |
Definition at line 11 of file PlottingEngineRoot.cc.
Referenced by Garfield::ViewDrift::NewElectronDriftLine(), Garfield::ViewDrift::NewHoleDriftLine(), Garfield::ViewDrift::NewPhotonTrack(), Garfield::ViewSignal::PlotSignal(), Garfield::ViewCell::ViewCell(), Garfield::ViewFEMesh::ViewFEMesh(), Garfield::ViewField::ViewField(), Garfield::ViewGeometry::ViewGeometry(), Garfield::ViewMedium::ViewMedium(), and Garfield::ViewSignal::ViewSignal().
RandomEngineRoot Garfield::randomEngine |
Random number generator.
Definition at line 6 of file RandomEngineRoot.cc.
Referenced by main(), and RndmUniform().