Garfield++ v1r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <AvalancheMicroscopic.hh>
Public Member Functions | |
AvalancheMicroscopic () | |
~AvalancheMicroscopic () | |
void | SetSensor (Sensor *sensor) |
void | EnablePlotting (ViewDrift *view) |
void | DisablePlotting () |
void | EnableExcitationMarkers () |
void | DisableExcitationMarkers () |
void | EnableIonisationMarkers () |
void | DisableIonisationMarkers () |
void | EnableAttachmentMarkers () |
void | DisableAttachmentMarkers () |
void | EnableSignalCalculation () |
void | DisableSignalCalculation () |
void | EnableInducedChargeCalculation () |
void | DisableInducedChargeCalculation () |
void | EnableElectronEnergyHistogramming (TH1 *histo) |
void | DisableElectronEnergyHistogramming () |
void | EnableHoleEnergyHistogramming (TH1 *histo) |
void | DisableHoleEnergyHistogramming () |
void | SetDistanceHistogram (TH1 *histo, const char opt='r') |
void | EnableDistanceHistogramming (const int type) |
void | DisableDistanceHistogramming (const int type) |
void | DisableDistanceHistogramming () |
void | EnableSecondaryEnergyHistogramming (TH1 *histo) |
void | DisableSecondaryEnergyHistogramming () |
void | EnableDriftLines () |
void | DisableDriftLines () |
void | EnablePhotonTransport () |
void | DisablePhotonTransport () |
void | EnableBandStructure () |
void | DisableBandStructure () |
void | EnableNullCollisionSteps () |
void | DisableNullCollisionSteps () |
void | SetElectronTransportCut (const double cut) |
double | GetElectronTransportCut () const |
void | SetPhotonTransportCut (const double cut) |
double | GetPhotonTransportCut () const |
void | EnableAvalancheSizeLimit (const int size) |
void | DisableAvalancheSizeLimit () |
int | GetAvalancheSizeLimit () const |
void | EnableMagneticField () |
void | DisableMagneticField () |
void | SetCollisionSteps (const int n) |
void | SetTimeWindow (const double t0, const double t1) |
void | UnsetTimeWindow () |
void | GetAvalancheSize (int &ne, int &ni) const |
void | GetAvalancheSize (int &ne, int &nh, int &ni) const |
int | GetNumberOfElectronEndpoints () const |
void | GetElectronEndpoint (const unsigned int i, double &x0, double &y0, double &z0, double &t0, double &e0, double &x1, double &y1, double &z1, double &t1, double &e1, int &status) const |
void | GetElectronEndpoint (const unsigned int i, double &x0, double &y0, double &z0, double &t0, double &e0, double &x1, double &y1, double &z1, double &t1, double &e1, double &dx1, double &dy1, double &dz1, int &status) const |
unsigned int | GetNumberOfElectronDriftLinePoints (const unsigned int i=0) const |
unsigned int | GetNumberOfHoleDriftLinePoints (const unsigned int i=0) const |
void | GetElectronDriftLinePoint (double &x, double &y, double &z, double &t, const int ip, const unsigned int iel=0) const |
void | GetHoleDriftLinePoint (double &x, double &y, double &z, double &t, const int ip, const unsigned int iel=0) const |
int | GetNumberOfHoleEndpoints () const |
void | GetHoleEndpoint (const unsigned int i, double &x0, double &y0, double &z0, double &t0, double &e0, double &x1, double &y1, double &z1, double &t1, double &e1, int &status) const |
int | GetNumberOfPhotons () const |
void | GetPhoton (const unsigned int 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 x0, const double y0, const double z0, const double t0, const double e0, const double dx0=0., const double dy0=0., const double dz0=0.) |
bool | AvalancheElectron (const double x0, const double y0, const double z0, const double t0, const double e0, const double dx0=0., const double dy0=0., const double dz0=0.) |
void | SetUserHandleStep (void(*f)(double x, double y, double z, double t, double e, double dx, double dy, double dz, bool hole)) |
void | UnsetUserHandleStep () |
void | SetUserHandleAttachment (void(*f)(double x, double y, double z, double t, int type, int level, Medium *m)) |
void | UnsetUserHandleAttachment () |
void | SetUserHandleInelastic (void(*f)(double x, double y, double z, double t, int type, int level, Medium *m)) |
void | UnsetUserHandleInelastic () |
void | SetUserHandleIonisation (void(*f)(double x, double y, double z, double t, int type, int level, Medium *m)) |
void | UnsetUserHandleIonisation () |
void | EnableDebugging () |
void | DisableDebugging () |
Definition at line 16 of file AvalancheMicroscopic.hh.
Garfield::AvalancheMicroscopic::AvalancheMicroscopic | ( | ) |
Definition at line 12 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 22 of file AvalancheMicroscopic.hh.
bool Garfield::AvalancheMicroscopic::AvalancheElectron | ( | const double | x0, |
const double | y0, | ||
const double | z0, | ||
const double | t0, | ||
const double | e0, | ||
const double | dx0 = 0. , |
||
const double | dy0 = 0. , |
||
const double | dz0 = 0. |
||
) |
Definition at line 551 of file AvalancheMicroscopic.cc.
Referenced by GarfieldPhysics::DoIt().
|
inline |
Definition at line 34 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 86 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 69 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 168 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::DisableDistanceHistogramming | ( | ) |
Definition at line 219 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::DisableDistanceHistogramming | ( | const int | type | ) |
Definition at line 198 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 61 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::DisableElectronEnergyHistogramming | ( | ) |
Definition at line 125 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 30 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::DisableHoleEnergyHistogramming | ( | ) |
Definition at line 142 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 42 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 32 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 91 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 73 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 65 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::DisablePlotting | ( | ) |
Definition at line 107 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::DisableSecondaryEnergyHistogramming | ( | ) |
Definition at line 237 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 38 of file AvalancheMicroscopic.hh.
bool Garfield::AvalancheMicroscopic::DriftElectron | ( | const double | x0, |
const double | y0, | ||
const double | z0, | ||
const double | t0, | ||
const double | e0, | ||
const double | dx0 = 0. , |
||
const double | dy0 = 0. , |
||
const double | dz0 = 0. |
||
) |
Definition at line 534 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 33 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 85 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 68 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 167 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::EnableDistanceHistogramming | ( | const int | type | ) |
Definition at line 174 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 60 of file AvalancheMicroscopic.hh.
Referenced by EnablePlotting().
void Garfield::AvalancheMicroscopic::EnableElectronEnergyHistogramming | ( | TH1 * | histo | ) |
Definition at line 113 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 29 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::EnableHoleEnergyHistogramming | ( | TH1 * | histo | ) |
Definition at line 130 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 41 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 31 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 90 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 72 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 64 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::EnablePlotting | ( | ViewDrift * | view | ) |
Definition at line 90 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::EnableSecondaryEnergyHistogramming | ( | TH1 * | histo | ) |
Definition at line 225 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 37 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 103 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 99 of file AvalancheMicroscopic.hh.
Referenced by GarfieldPhysics::DoIt().
|
inline |
Definition at line 87 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::GetElectronDriftLinePoint | ( | double & | x, |
double & | y, | ||
double & | z, | ||
double & | t, | ||
const int | ip, | ||
const unsigned int | iel = 0 |
||
) | const |
Definition at line 385 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::GetElectronEndpoint | ( | const unsigned int | i, |
double & | x0, | ||
double & | y0, | ||
double & | z0, | ||
double & | t0, | ||
double & | e0, | ||
double & | x1, | ||
double & | y1, | ||
double & | z1, | ||
double & | t1, | ||
double & | e1, | ||
double & | dx1, | ||
double & | dy1, | ||
double & | dz1, | ||
int & | status | ||
) | const |
Definition at line 299 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::GetElectronEndpoint | ( | const unsigned int | i, |
double & | x0, | ||
double & | y0, | ||
double & | z0, | ||
double & | t0, | ||
double & | e0, | ||
double & | x1, | ||
double & | y1, | ||
double & | z1, | ||
double & | t1, | ||
double & | e1, | ||
int & | status | ||
) | const |
Definition at line 270 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 78 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::GetHoleDriftLinePoint | ( | double & | x, |
double & | y, | ||
double & | z, | ||
double & | t, | ||
const int | ip, | ||
const unsigned int | iel = 0 |
||
) | const |
Definition at line 419 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::GetHoleEndpoint | ( | const unsigned int | i, |
double & | x0, | ||
double & | y0, | ||
double & | z0, | ||
double & | t0, | ||
double & | e0, | ||
double & | x1, | ||
double & | y1, | ||
double & | z1, | ||
double & | t1, | ||
double & | e1, | ||
int & | status | ||
) | const |
Definition at line 330 of file AvalancheMicroscopic.cc.
unsigned int Garfield::AvalancheMicroscopic::GetNumberOfElectronDriftLinePoints | ( | const unsigned int | i = 0 | ) | const |
Definition at line 358 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 109 of file AvalancheMicroscopic.hh.
unsigned int Garfield::AvalancheMicroscopic::GetNumberOfHoleDriftLinePoints | ( | const unsigned int | i = 0 | ) | const |
Definition at line 372 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 125 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 130 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::GetPhoton | ( | const unsigned int | i, |
double & | e, | ||
double & | x0, | ||
double & | y0, | ||
double & | z0, | ||
double & | t0, | ||
double & | x1, | ||
double & | y1, | ||
double & | z1, | ||
double & | t1, | ||
int & | status | ||
) | const |
Definition at line 453 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 82 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::SetCollisionSteps | ( | const int | n | ) |
Definition at line 242 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::SetDistanceHistogram | ( | TH1 * | histo, |
const char | opt = 'r' |
||
) |
Definition at line 147 of file AvalancheMicroscopic.cc.
|
inline |
Definition at line 77 of file AvalancheMicroscopic.hh.
|
inline |
Definition at line 81 of file AvalancheMicroscopic.hh.
void Garfield::AvalancheMicroscopic::SetSensor | ( | Sensor * | sensor | ) |
Definition at line 80 of file AvalancheMicroscopic.cc.
Referenced by GarfieldPhysics::InitializePhysics().
void Garfield::AvalancheMicroscopic::SetTimeWindow | ( | const double | t0, |
const double | t1 | ||
) |
Definition at line 255 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::SetUserHandleAttachment | ( | void(*)(double x, double y, double z, double t, int type, int level, Medium *m) | f | ) |
Definition at line 495 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::SetUserHandleInelastic | ( | void(*)(double x, double y, double z, double t, int type, int level, Medium *m) | f | ) |
Definition at line 508 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::SetUserHandleIonisation | ( | void(*)(double x, double y, double z, double t, int type, int level, Medium *m) | f | ) |
Definition at line 521 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::SetUserHandleStep | ( | void(*)(double x, double y, double z, double t, double e, double dx, double dy, double dz, bool hole) | f | ) |
Definition at line 476 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::UnsetTimeWindow | ( | ) |
Definition at line 268 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::UnsetUserHandleAttachment | ( | ) |
Definition at line 502 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::UnsetUserHandleInelastic | ( | ) |
Definition at line 515 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::UnsetUserHandleIonisation | ( | ) |
Definition at line 528 of file AvalancheMicroscopic.cc.
void Garfield::AvalancheMicroscopic::UnsetUserHandleStep | ( | ) |
Definition at line 489 of file AvalancheMicroscopic.cc.