![]() |
Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
|
Calculate electron drift lines and avalanches using microscopic tracking. More...
#include <AvalancheMicroscopic.hh>
Classes | |
struct | Electron |
struct | Photon |
struct | Point |
struct | Seed |
struct | Statistics |
Public Member Functions | |
AvalancheMicroscopic () | |
Default constructor. | |
AvalancheMicroscopic (Sensor *sensor) | |
Constructor. | |
~AvalancheMicroscopic () | |
Destructor. | |
void | SetSensor (Sensor *sensor) |
Set the sensor. | |
void | EnablePlotting (ViewDrift *view, const std::size_t nColl=100) |
Switch on drift line plotting. | |
void | DisablePlotting () |
Switch off drift line plotting. | |
void | EnableExcitationMarkers (const bool on=true) |
Draw a marker at every excitation or not. | |
void | EnableIonisationMarkers (const bool on=true) |
Draw a marker at every ionising collision or not. | |
void | EnableAttachmentMarkers (const bool on=true) |
Draw a marker at every attachment or not. | |
void | EnableSignalCalculation (const bool on=true) |
Switch calculation of induced currents on or off (default: enabled). | |
void | UseWeightingPotential (const bool on=true) |
Use the weighting potential (as opposed to the weighting field) for calculating the induced current. | |
void | EnableWeightingFieldIntegration (const bool on=true) |
Integrate the weighting field over a drift line step when calculating the induced current (default: off). | |
void | UseInducedCharge (const bool on=true) |
Switch on calculation of the total induced charge (default: off). | |
void | EnablePathLengthComputation (const bool on=true) |
Compute and store the path length of each trajectory (default: off). | |
void | EnableElectronEnergyHistogramming (TH1 *histo) |
Fill a histogram with the electron energy distribution. | |
void | DisableElectronEnergyHistogramming () |
Stop histogramming the electron energy distribution. | |
void | EnableHoleEnergyHistogramming (TH1 *histo) |
Fill a histogram with the hole energy distribution. | |
void | DisableHoleEnergyHistogramming () |
Stop histogramming the hole energy distribution. | |
void | SetDistanceHistogram (TH1 *histo, const char opt='r') |
Fill histograms of the distance between successive collisions. | |
void | EnableDistanceHistogramming (const int type) |
Fill distance distribution histograms for a given collision type. | |
void | DisableDistanceHistogramming (const int type) |
Stop filling distance distribution histograms for a given collision type. | |
void | DisableDistanceHistogramming () |
Stop filling distance distribution histograms. | |
void | EnableSecondaryEnergyHistogramming (TH1 *histo) |
Fill histograms of the energy of electrons emitted in ionising collisions. | |
void | DisableSecondaryEnergyHistogramming () |
Stop histogramming the secondary electron energy distribution. | |
void | EnableDriftLines (const bool on=true) |
Switch on storage of drift lines (default: off). | |
void | EnablePhotonTransport (const bool on=true) |
Switch on photon transport. | |
void | EnableBandStructure (const bool on=true) |
Switch on stepping according to band structure E(k), for semiconductors. | |
void | EnableNullCollisionSteps (const bool on=true, const int nSteps=1) |
Switch on update of coordinates for null-collision steps (default: off). | |
void | EnableRKNSteps (const bool on=true) |
Switch on Runge-Kutta-Nystrom stepping (default: off). | |
void | SetRKNTolerance (const double sTol=1.e-10, const double sMinStep=1.e-5) |
Set error tolerance and minimum step size on Runge-Kutta-Nystrom method (default: 1.e-10 and 1.e-5). | |
void | SetElectronTransportCut (const double cut) |
Set a (lower) energy threshold for electron transport. | |
double | GetElectronTransportCut () const |
Retrieve the value of the energy threshold. | |
void | SetPhotonTransportCut (const double cut) |
Set an energy threshold for photon transport. | |
double | GetPhotonTransportCut () const |
Retrieve the energy threshold for transporting photons. | |
void | EnableAvalancheSizeLimit (const unsigned int size) |
Set a max. | |
void | DisableAvalancheSizeLimit () |
Do not apply a limit on the avalanche size. | |
int | GetAvalancheSizeLimit () const |
Retrieve the currently set size limit. | |
void | EnableMagneticField (const bool on=true) |
Switch on/off using the magnetic field in the stepping algorithm. | |
void | SetCollisionSteps (const unsigned int n) |
Set number of collisions to be skipped for storing drift lines. | |
void | SetTimeWindow (const double t0, const double t1) |
Define a time interval (only carriers inside the interval are simulated). | |
void | UnsetTimeWindow () |
Do not restrict the time interval within which carriers are simulated. | |
void | GetAvalancheSize (int &ne, int &ni) const |
Return the number of electrons and ions in the avalanche. | |
std::pair< int, int > | GetAvalancheSize () const |
Return the number of electrons and ions in the avalanche. | |
void | GetAvalancheSize (int &ne, int &nh, int &ni) const |
void | GetAvalancheSizeGPU (int &ne, int &ni) const |
Return the number of electrons and ions in the avalanche. | |
const std::vector< Electron > & | GetElectrons () const |
const std::vector< Electron > & | GetHoles () const |
size_t | GetNumberOfElectronEndpoints () const |
Return the number of electron trajectories in the last simulated avalanche (including captured electrons). | |
unsigned int | GetNumberOfElectronEndpointsGPU () const |
void | GetElectronEndpoint (const size_t i, double &x0, double &y0, double &z0, double &t0, double &e0, double &x1, double &y1, double &z1, double &t1, double &e1, int &status) const |
Return the coordinates and time of start and end point of a given electron drift line. | |
void | GetElectronEndpointGPU (const size_t i, double &x0, double &y0, double &z0, double &t0, double &e0, double &x1, double &y1, double &z1, double &t1, double &e1, int &status) const |
size_t | GetNumberOfElectronDriftLinePoints (const size_t i=0) const |
void | GetElectronDriftLinePoint (double &x, double &y, double &z, double &t, const size_t ip, const size_t ie=0) const |
size_t | GetNumberOfPhotons () const |
void | GetPhoton (const size_t i, double &e, double &x0, double &y0, double &z0, double &t0, double &x1, double &y1, double &z1, double &t1, int &status) const |
bool | DriftElectron (const double x, const double y, const double z, const double t, const double e, const double dx=0., const double dy=0., const double dz=0., const size_t w=1) |
Calculate an electron drift line. | |
bool | AvalancheElectron (const double x, const double y, const double z, const double t, const double e, const double dx=0., const double dy=0., const double dz=0., const size_t w=1) |
Calculate an avalanche initiated by a given electron. | |
void | AddElectron (const double x, const double y, const double z, const double t, const double e, const double dx=0., const double dy=0., const double dz=0., const size_t w=1) |
Add an electron to the list of particles to be transported. | |
bool | ResumeAvalanche () |
Continue the avalanche simulation from the current set of electrons. | |
void | SetUserHandleStep (void(*f)(double x, double y, double z, double t, double e, double dx, double dy, double dz, bool hole)) |
Set a callback function to be called at every step. | |
void | UnsetUserHandleStep () |
Deactivate the user handle called at every step. | |
void | SetUserHandleCollision (void(*f)(double x, double y, double z, double t, int type, int level, Medium *m, double e0, double e1, double dx0, double dy0, double dz0, double dx1, double dy1, double dz1)) |
Set a callback function to be called at every (real) collision. | |
void | UnsetUserHandleCollision () |
Deactivate the user handle called at every collision. | |
void | SetUserHandleAttachment (void(*f)(double x, double y, double z, double t, int type, int level, Medium *m)) |
Set a user handling procedure, to be called at every attachment. | |
void | UnsetUserHandleAttachment () |
Deactivate the user handle called at every attachment. | |
void | SetUserHandleInelastic (void(*f)(double x, double y, double z, double t, int type, int level, Medium *m)) |
Set a user handling procedure, to be called at every inelastic collision. | |
void | UnsetUserHandleInelastic () |
Deactivate the user handle called at every inelastic collision. | |
void | SetUserHandleIonisation (void(*f)(double x, double y, double z, double t, int type, int level, Medium *m)) |
Set a user handling procedure, to be called at every ionising collision or excitation followed by Penning transfer. | |
void | UnsetUserHandleIonisation () |
Deactivate the user handle called at every ionisation. | |
void | EnableDebugging () |
Switch on debugging messages. | |
void | DisableDebugging () |
Statistics | GetStatistics () |
void | SetRunModeOptions (MPRunMode mode, int device=-1) |
void | SetMaxNumShowerLoops (int max_loops) |
void | SetShowProgress (bool show_progress) |
void | SetDebugShowerIterationAndElectronID (int iter_num, int elec_id) |
std::vector< Seed > | GetStackOld () |
std::vector< Electron > | GetStackOldGPU () |
Private Member Functions | |
bool | TransportElectrons (std::vector< Seed > &stack, const bool aval) |
int | TransportElectron (const Seed &seed, const bool signal, std::vector< double > &ts, std::vector< std::array< double, 3 > > &xs, std::vector< Point > &path, std::vector< Seed > &stack) |
int | TransportElectronBfield (const Seed &seed, const bool signal, std::vector< double > &ts, std::vector< std::array< double, 3 > > &xs, std::vector< Point > &path, std::vector< Seed > &stack) |
int | TransportElectronSc (const Seed &seed, const bool signal, std::vector< double > &ts, std::vector< std::array< double, 3 > > &xs, std::vector< Point > &path, std::vector< Seed > &stack) |
void | TransportPhoton (const double x, const double y, const double z, const double t, const double e, const size_t w, std::vector< Seed > &stack) |
bool | transportParticleStack (const bool aval, std::vector< Seed > &stack, std::vector< Seed > &newParticles, const bool signal, const bool useBfield, const bool sc) |
void | Terminate (double x0, double y0, double z0, double t0, double &x1, double &y1, double &z1, double &t1) const |
void | CreatePenningElectron (const double x, const double y, const double z, const double t, const size_t w, const double ds, const double dt, const double ep, const int level, std::vector< Seed > &stack) const |
void | PlotCollision (const int cstype, const size_t did, const double x, const double y, const double z, size_t &nCollPlot) const |
void | CallUserHandles (const int cstype, const double x, const double y, const double z, const double t, const int level, Medium *medium, const double en1, const double en, const double kx, const double ky, const double kz, const double kx1, const double ky1, const double kz1) const |
void | FillDistanceHistogram (const int cstype, const double x, const double y, const double z, double &xLast, double &yLast, double &zLast) const |
Private Attributes | |
std::string | m_className = "AvalancheMicroscopic" |
MPRunMode | m_runMode {MPRunMode::Normal} |
int | m_cudaDevice {-1} |
int | m_maxNumShowerLoops {-1} |
int | m_debugElectronID {-1} |
int | m_debugShowerLoopNum {-1} |
bool | m_showProgress {false} |
AvalancheMicroscopicGPU * | m_gpuInterface {nullptr} |
Statistics | m_stats |
Sensor * | m_sensor = nullptr |
std::vector< Electron > | m_electrons |
std::vector< Electron > | m_electrons_gpu |
std::vector< Electron > | m_holes |
std::vector< Seed > | m_stackStoreCPU |
std::vector< Electron > | m_stackStoreGPU |
std::vector< Photon > | m_photons |
int | m_nElectrons = 0 |
Number of electrons produced. | |
int | m_nHoles = 0 |
Number of holes produced. | |
int | m_nIons = 0 |
Number of ions produced. | |
int | m_nElectronsGPU = 0 |
Number of electrons produced. | |
int | m_nHolesGPU = 0 |
Number of holes produced. | |
int | m_nIonsGPU = 0 |
Number of ions produced. | |
ViewDrift * | m_viewer = nullptr |
bool | m_plotExcitations = true |
bool | m_plotIonisations = true |
bool | m_plotAttachments = true |
TH1 * | m_histElectronEnergy = nullptr |
TH1 * | m_histHoleEnergy = nullptr |
TH1 * | m_histDistance = nullptr |
char | m_distanceOption = 'r' |
std::vector< int > | m_distanceHistogramType |
TH1 * | m_histSecondary = nullptr |
bool | m_doSignal = true |
bool | m_useWeightingPotential = true |
bool | m_integrateWeightingField = false |
bool | m_doInducedCharge = false |
bool | m_computePathLength = false |
bool | m_storeDriftLines = false |
bool | m_usePhotons = false |
bool | m_useBandStructure = true |
bool | m_useNullCollisionSteps = false |
bool | m_useBfieldAuto = true |
bool | m_useBfield = false |
bool | m_rknSteps = false |
double | m_rknsteperrortol = 1.e-10 |
double | m_rknMinh = 1.e-5 |
double | m_nullCollScale = 1. |
double | m_deltaCut = 0. |
double | m_gammaCut = 0. |
unsigned int | m_sizeCut = 0 |
size_t | m_nCollSkip = 100 |
size_t | m_nCollPlot = 100 |
bool | m_hasTimeWindow = false |
double | m_tMin = 0. |
double | m_tMax = 0. |
void(* | m_userHandleStep )(double x, double y, double z, double t, double e, double dx, double dy, double dz, bool hole) = nullptr |
void(* | m_userHandleCollision )(double x, double y, double z, double t, int type, int level, Medium *m, double e0, double e1, double dx0, double dy0, double dz0, double dx1, double dy1, double dz1) = nullptr |
void(* | m_userHandleAttachment )(double x, double y, double z, double t, int type, int level, Medium *m) = nullptr |
void(* | m_userHandleInelastic )(double x, double y, double z, double t, int type, int level, Medium *m) = nullptr |
void(* | m_userHandleIonisation )(double x, double y, double z, double t, int type, int level, Medium *m) = nullptr |
bool | m_debug = false |
Friends | |
class | AvalancheMicroscopicGPU |
Calculate electron drift lines and avalanches using microscopic tracking.
Definition at line 24 of file AvalancheMicroscopic.hh.
|
inline |
Default constructor.
Definition at line 27 of file AvalancheMicroscopic.hh.
Garfield::AvalancheMicroscopic::AvalancheMicroscopic | ( | Sensor * | sensor | ) |
Constructor.
|
inline |
void Garfield::AvalancheMicroscopic::AddElectron | ( | const double | x, |
const double | y, | ||
const double | z, | ||
const double | t, | ||
const double | e, | ||
const double | dx = 0., | ||
const double | dy = 0., | ||
const double | dz = 0., | ||
const size_t | w = 1 ) |
Add an electron to the list of particles to be transported.
bool Garfield::AvalancheMicroscopic::AvalancheElectron | ( | const double | x, |
const double | y, | ||
const double | z, | ||
const double | t, | ||
const double | e, | ||
const double | dx = 0., | ||
const double | dy = 0., | ||
const double | dz = 0., | ||
const size_t | w = 1 ) |
Calculate an avalanche initiated by a given electron.
|
private |
|
private |
|
inline |
Do not apply a limit on the avalanche size.
Definition at line 135 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 287 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::DisableDistanceHistogramming | ( | ) |
Stop filling distance distribution histograms.
void Garfield::AvalancheMicroscopic::DisableDistanceHistogramming | ( | const int | type | ) |
Stop filling distance distribution histograms for a given collision type.
|
inline |
Stop histogramming the electron energy distribution.
Definition at line 70 of file AvalancheMicroscopic.hh.
|
inline |
Stop histogramming the hole energy distribution.
Definition at line 74 of file AvalancheMicroscopic.hh.
|
inline |
|
inline |
Stop histogramming the secondary electron energy distribution.
Definition at line 92 of file AvalancheMicroscopic.hh.
bool Garfield::AvalancheMicroscopic::DriftElectron | ( | const double | x, |
const double | y, | ||
const double | z, | ||
const double | t, | ||
const double | e, | ||
const double | dx = 0., | ||
const double | dy = 0., | ||
const double | dz = 0., | ||
const size_t | w = 1 ) |
Calculate an electron drift line.
x,y,z,t | starting point of the electron |
e | initial energy of the electron |
dx,dy,dz | initial direction vector of the electron If the initial direction is not specified, it is sampled randomly. |
w | weight (multiplicity) of the electron Secondary electrons are not transported. |
|
inline |
Draw a marker at every attachment or not.
Definition at line 45 of file AvalancheMicroscopic.hh.
|
inline |
Set a max.
avalanche size (i. e. ignore ionising collisions once this size has been reached).
Definition at line 133 of file AvalancheMicroscopic.hh.
|
inline |
Switch on stepping according to band structure E(k), for semiconductors.
Definition at line 102 of file AvalancheMicroscopic.hh.
|
inline |
void Garfield::AvalancheMicroscopic::EnableDistanceHistogramming | ( | const int | type | ) |
Fill distance distribution histograms for a given collision type.
|
inline |
Switch on storage of drift lines (default: off).
Definition at line 95 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::EnableElectronEnergyHistogramming | ( | TH1 * | histo | ) |
Fill a histogram with the electron energy distribution.
|
inline |
Draw a marker at every excitation or not.
Definition at line 41 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::EnableHoleEnergyHistogramming | ( | TH1 * | histo | ) |
Fill a histogram with the hole energy distribution.
|
inline |
Draw a marker at every ionising collision or not.
Definition at line 43 of file AvalancheMicroscopic.hh.
|
inline |
Switch on/off using the magnetic field in the stepping algorithm.
Definition at line 140 of file AvalancheMicroscopic.hh.
|
inline |
Switch on update of coordinates for null-collision steps (default: off).
Definition at line 105 of file AvalancheMicroscopic.hh.
|
inline |
Compute and store the path length of each trajectory (default: off).
Definition at line 64 of file AvalancheMicroscopic.hh.
|
inline |
Switch on photon transport.
Definition at line 99 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::EnablePlotting | ( | ViewDrift * | view, |
const std::size_t | nColl = 100 ) |
Switch on drift line plotting.
|
inline |
Switch on Runge-Kutta-Nystrom stepping (default: off).
Definition at line 111 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::EnableSecondaryEnergyHistogramming | ( | TH1 * | histo | ) |
Fill histograms of the energy of electrons emitted in ionising collisions.
|
inline |
Switch calculation of induced currents on or off (default: enabled).
Definition at line 48 of file AvalancheMicroscopic.hh.
|
inline |
Integrate the weighting field over a drift line step when calculating the induced current (default: off).
Definition at line 56 of file AvalancheMicroscopic.hh.
|
private |
|
inline |
Return the number of electrons and ions in the avalanche.
Definition at line 159 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 162 of file AvalancheMicroscopic.hh.
|
inline |
Return the number of electrons and ions in the avalanche.
Definition at line 154 of file AvalancheMicroscopic.hh.
|
inline |
Return the number of electrons and ions in the avalanche.
Definition at line 168 of file AvalancheMicroscopic.hh.
|
inline |
void Garfield::AvalancheMicroscopic::GetElectronDriftLinePoint | ( | double & | x, |
double & | y, | ||
double & | z, | ||
double & | t, | ||
const size_t | ip, | ||
const size_t | ie = 0 ) const |
void Garfield::AvalancheMicroscopic::GetElectronEndpoint | ( | const size_t | i, |
double & | x0, | ||
double & | y0, | ||
double & | z0, | ||
double & | t0, | ||
double & | e0, | ||
double & | x1, | ||
double & | y1, | ||
double & | z1, | ||
double & | t1, | ||
double & | e1, | ||
int & | status ) const |
Return the coordinates and time of start and end point of a given electron drift line.
i | index of the drift line |
x0,y0,z0,t0 | coordinates and time of the starting point |
x1,y1,z1,t1 | coordinates and time of the end point |
e0,e1 | initial and final energy |
status | status code (see GarfieldConstants.hh) |
void Garfield::AvalancheMicroscopic::GetElectronEndpointGPU | ( | const size_t | i, |
double & | x0, | ||
double & | y0, | ||
double & | z0, | ||
double & | t0, | ||
double & | e0, | ||
double & | x1, | ||
double & | y1, | ||
double & | z1, | ||
double & | t1, | ||
double & | e1, | ||
int & | status ) const |
|
inline |
Definition at line 194 of file AvalancheMicroscopic.hh.
|
inline |
|
inline |
Definition at line 195 of file AvalancheMicroscopic.hh.
size_t Garfield::AvalancheMicroscopic::GetNumberOfElectronDriftLinePoints | ( | const size_t | i = 0 | ) | const |
|
inline |
Return the number of electron trajectories in the last simulated avalanche (including captured electrons).
Definition at line 198 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 199 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 222 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::GetPhoton | ( | const size_t | i, |
double & | e, | ||
double & | x0, | ||
double & | y0, | ||
double & | z0, | ||
double & | t0, | ||
double & | x1, | ||
double & | y1, | ||
double & | z1, | ||
double & | t1, | ||
int & | status ) const |
|
inline |
Retrieve the energy threshold for transporting photons.
Definition at line 129 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 458 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 461 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 300 of file AvalancheMicroscopic.hh.
|
private |
bool Garfield::AvalancheMicroscopic::ResumeAvalanche | ( | ) |
Continue the avalanche simulation from the current set of electrons.
|
inline |
Set number of collisions to be skipped for storing drift lines.
Definition at line 146 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 305 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::SetDistanceHistogram | ( | TH1 * | histo, |
const char | opt = 'r' ) |
Fill histograms of the distance between successive collisions.
histo | pointer to the histogram to be filled |
opt | direction ('x', 'y', 'z', 'r') |
|
inline |
Set a (lower) energy threshold for electron transport.
This can be useful for simulating delta electrons.
Definition at line 122 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 303 of file AvalancheMicroscopic.hh.
|
inline |
Set an energy threshold for photon transport.
Definition at line 127 of file AvalancheMicroscopic.hh.
|
inline |
Set error tolerance and minimum step size on Runge-Kutta-Nystrom method (default: 1.e-10 and 1.e-5).
Definition at line 114 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::SetRunModeOptions | ( | MPRunMode | mode, |
int | device = -1 ) |
void Garfield::AvalancheMicroscopic::SetSensor | ( | Sensor * | sensor | ) |
Set the sensor.
|
inline |
Definition at line 304 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::SetTimeWindow | ( | const double | t0, |
const double | t1 ) |
Define a time interval (only carriers inside the interval are simulated).
void Garfield::AvalancheMicroscopic::SetUserHandleAttachment | ( | void(* | f )(double x, double y, double z, double t, int type, int level, Medium *m) | ) |
Set a user handling procedure, to be called at every attachment.
void Garfield::AvalancheMicroscopic::SetUserHandleCollision | ( | void(* | f )(double x, double y, double z, double t, int type, int level, Medium *m, double e0, double e1, double dx0, double dy0, double dz0, double dx1, double dy1, double dz1) | ) |
Set a callback function to be called at every (real) collision.
void Garfield::AvalancheMicroscopic::SetUserHandleInelastic | ( | void(* | f )(double x, double y, double z, double t, int type, int level, Medium *m) | ) |
Set a user handling procedure, to be called at every inelastic collision.
void Garfield::AvalancheMicroscopic::SetUserHandleIonisation | ( | void(* | f )(double x, double y, double z, double t, int type, int level, Medium *m) | ) |
Set a user handling procedure, to be called at every ionising collision or excitation followed by Penning transfer.
void Garfield::AvalancheMicroscopic::SetUserHandleStep | ( | void(* | f )(double x, double y, double z, double t, double e, double dx, double dy, double dz, bool hole) | ) |
Set a callback function to be called at every step.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inline |
Do not restrict the time interval within which carriers are simulated.
Definition at line 151 of file AvalancheMicroscopic.hh.
|
inline |
Deactivate the user handle called at every attachment.
Definition at line 272 of file AvalancheMicroscopic.hh.
|
inline |
Deactivate the user handle called at every collision.
Definition at line 267 of file AvalancheMicroscopic.hh.
|
inline |
Deactivate the user handle called at every inelastic collision.
Definition at line 277 of file AvalancheMicroscopic.hh.
|
inline |
Deactivate the user handle called at every ionisation.
Definition at line 283 of file AvalancheMicroscopic.hh.
|
inline |
Deactivate the user handle called at every step.
Definition at line 259 of file AvalancheMicroscopic.hh.
|
inline |
Switch on calculation of the total induced charge (default: off).
Definition at line 61 of file AvalancheMicroscopic.hh.
|
inline |
Use the weighting potential (as opposed to the weighting field) for calculating the induced current.
Definition at line 51 of file AvalancheMicroscopic.hh.
|
friend |
Definition at line 463 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 311 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 372 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 314 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 415 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 316 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 317 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 386 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 363 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 362 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 370 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 367 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 325 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 326 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 387 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 319 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 395 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 361 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 359 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 360 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 365 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 327 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 369 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 315 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 393 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 392 of file AvalancheMicroscopic.hh.
|
private |
Number of electrons produced.
Definition at line 341 of file AvalancheMicroscopic.hh.
|
private |
Number of electrons produced.
Definition at line 348 of file AvalancheMicroscopic.hh.
|
private |
Number of holes produced.
Definition at line 343 of file AvalancheMicroscopic.hh.
|
private |
Number of holes produced.
Definition at line 350 of file AvalancheMicroscopic.hh.
|
private |
Number of ions produced.
Definition at line 345 of file AvalancheMicroscopic.hh.
|
private |
Number of ions produced.
Definition at line 352 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 383 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 338 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 357 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 355 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 356 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 382 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 381 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 380 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 313 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 323 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 318 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 390 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 329 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 330 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 321 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 373 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 397 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 396 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 375 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 378 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 377 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 376 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 374 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 407 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 403 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 409 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 411 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 400 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 368 of file AvalancheMicroscopic.hh.
|
private |
Definition at line 354 of file AvalancheMicroscopic.hh.