Garfield++ v2r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
Generate tracks based on a cluster density given by the user. More...
#include <TrackSimple.hh>
Public Member Functions | |
TrackSimple () | |
Constructor. | |
virtual | ~TrackSimple () |
Destructor. | |
void | SetEqualSpacing () |
Constant distance between clusters. | |
void | SetExponentialSpacing () |
Exponentially distributed distance between clusters. | |
void | SetClusterDensity (const double d) |
Set the cluster density (inverse mean free path). | |
virtual double | GetClusterDensity () |
void | SetStoppingPower (const double dedx) |
Set the stopping power (dE/dx). | |
virtual double | GetStoppingPower () |
Get the stopping power (mean energy loss [eV] per cm). | |
virtual bool | NewTrack (const double x0, const double y0, const double z0, const double t0, const double dx0, const double dy0, const double dz0) |
virtual bool | GetCluster (double &xcls, double &ycls, double &zcls, double &tcls, int &n, double &e, double &extra) |
Public Member Functions inherited from Garfield::Track | |
Track () | |
Constructor. | |
virtual | ~Track () |
Destructor. | |
virtual void | SetParticle (const std::string &part) |
Set the type of particle. | |
void | SetEnergy (const double e) |
Set the particle energy. | |
void | SetBetaGamma (const double bg) |
Set the relative momentum of the particle. | |
void | SetBeta (const double beta) |
Set the speed ( ) of the particle. | |
void | SetGamma (const double gamma) |
Set the Lorentz factor of the particle. | |
void | SetMomentum (const double p) |
Set the particle momentum. | |
void | SetKineticEnergy (const double ekin) |
Set the kinetic energy of the particle. | |
double | GetEnergy () const |
double | GetBetaGamma () const |
double | GetBeta () const |
double | GetGamma () const |
double | GetMomentum () const |
double | GetKineticEnergy () const |
double | GetCharge () const |
Get the charge of the projectile. | |
double | GetMass () const |
Get the mass [eV / c2] of the projectile. | |
void | SetSensor (Sensor *s) |
virtual bool | NewTrack (const double x0, const double y0, const double z0, const double t0, const double dx0, const double dy0, const double dz0)=0 |
virtual bool | GetCluster (double &xcls, double &ycls, double &zcls, double &tcls, int &n, double &e, double &extra)=0 |
virtual double | GetClusterDensity () |
virtual double | GetStoppingPower () |
Get the stopping power (mean energy loss [eV] per cm). | |
void | EnablePlotting (ViewDrift *viewer) |
void | DisablePlotting () |
void | EnableDebugging () |
void | DisableDebugging () |
Protected Attributes | |
bool | m_isReady |
double | m_x |
double | m_y |
double | m_z |
double | m_t |
double | m_dx |
double | m_dy |
double | m_dz |
double | m_mfp |
double | m_eloss |
bool | m_useEqualSpacing |
Protected Attributes inherited from Garfield::Track | |
std::string | m_className |
double | m_q |
int | m_spin |
double | m_mass |
double | m_energy |
double | m_beta2 |
bool | m_isElectron |
std::string | m_particleName |
Sensor * | m_sensor |
bool | m_isChanged |
bool | m_usePlotting |
ViewDrift * | m_viewer |
bool | m_debug |
int | m_plotId |
Additional Inherited Members | |
Protected Member Functions inherited from Garfield::Track | |
void | PlotNewTrack (const double x0, const double y0, const double z0) |
void | PlotCluster (const double x0, const double y0, const double z0) |
Generate tracks based on a cluster density given by the user.
Definition at line 10 of file TrackSimple.hh.
Garfield::TrackSimple::TrackSimple | ( | ) |
|
inlinevirtual |
|
virtual |
Get the next "cluster" (ionising collision of the charged particle).
xcls,ycls,zcls | coordinates of the collision |
tcls | time of the collision |
n | number of electrons produced |
e | deposited energy |
extra | additional information (not always implemented) |
Implements Garfield::Track.
Definition at line 96 of file TrackSimple.cc.
|
virtual |
Get the cluster density (number of ionizing collisions per cm or inverse mean free path for ionization).
Reimplemented from Garfield::Track.
Definition at line 39 of file TrackSimple.cc.
|
virtual |
Get the stopping power (mean energy loss [eV] per cm).
Reimplemented from Garfield::Track.
Definition at line 53 of file TrackSimple.cc.
|
virtual |
Calculate a new track starting from (x0, y0, z0) at time t0 in direction (dx0, dy0, dz0).
Implements Garfield::Track.
Definition at line 55 of file TrackSimple.cc.
void Garfield::TrackSimple::SetClusterDensity | ( | const double | d | ) |
Set the cluster density (inverse mean free path).
Definition at line 27 of file TrackSimple.cc.
|
inline |
|
inline |
void Garfield::TrackSimple::SetStoppingPower | ( | const double | dedx | ) |
Set the stopping power (dE/dx).
Definition at line 41 of file TrackSimple.cc.
|
protected |
Definition at line 41 of file TrackSimple.hh.
Referenced by GetCluster(), and NewTrack().
|
protected |
Definition at line 41 of file TrackSimple.hh.
Referenced by GetCluster(), and NewTrack().
|
protected |
Definition at line 41 of file TrackSimple.hh.
Referenced by GetCluster(), and NewTrack().
|
protected |
Definition at line 45 of file TrackSimple.hh.
Referenced by GetCluster(), GetStoppingPower(), and SetStoppingPower().
|
protected |
Definition at line 37 of file TrackSimple.hh.
Referenced by GetCluster(), and NewTrack().
|
protected |
Definition at line 43 of file TrackSimple.hh.
Referenced by GetCluster(), GetClusterDensity(), and SetClusterDensity().
|
protected |
Definition at line 40 of file TrackSimple.hh.
Referenced by GetCluster(), and NewTrack().
|
protected |
Definition at line 47 of file TrackSimple.hh.
Referenced by GetCluster(), SetEqualSpacing(), and SetExponentialSpacing().
|
protected |
Definition at line 40 of file TrackSimple.hh.
Referenced by GetCluster(), and NewTrack().
|
protected |
Definition at line 40 of file TrackSimple.hh.
Referenced by GetCluster(), and NewTrack().
|
protected |
Definition at line 40 of file TrackSimple.hh.
Referenced by GetCluster(), and NewTrack().