Garfield++ 4.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <HeedDeltaElectron.h>
Public Member Functions | |
HeedDeltaElectron ()=default | |
Default constructor. | |
HeedDeltaElectron (manip_absvol *primvol, const point &pt, const vec &vel, vfloat ftime, long fparent_particle_number, HeedFieldMap *fieldmap, bool fs_print_listing=false) | |
Constructor. | |
virtual | ~HeedDeltaElectron () |
Destructor. | |
HeedDeltaElectron * | copy () const override |
Clone the particle. | |
void | print (std::ostream &file, int l) const override |
Print-out. | |
Public Member Functions inherited from Heed::eparticle | |
eparticle ()=default | |
Default constructor. | |
eparticle (manip_absvol *primvol, const point &pt, const vec &vel, vfloat time, particle_def *fpardef, HeedFieldMap *fieldmap) | |
Constructor using velocity vector. | |
virtual | ~eparticle () |
Destructor. | |
eparticle * | copy () const override |
Clone the particle. | |
void | print (std::ostream &file, int l) const override |
Print-out. | |
Public Member Functions inherited from Heed::mparticle | |
mparticle ()=default | |
Default constructor. | |
mparticle (manip_absvol *primvol, const point &pt, const vec &vel, vfloat ftime, double fmass) | |
Constructor, calculated from the from velocity vector. | |
virtual | ~mparticle () |
Destructor. | |
double | kinetic_energy () const |
Get the current kinetic energy. | |
void | print (std::ostream &file, int l) const override |
Print-out. | |
mparticle * | copy () const override |
Clone the particle. | |
Public Member Functions inherited from Heed::gparticle | |
gparticle ()=default | |
Default constructor. | |
gparticle (manip_absvol *primvol, const point &pt, const vec &vel, vfloat time) | |
Constructor. | |
virtual | ~gparticle () |
Destructor. | |
virtual void | fly (std::vector< gparticle * > &secondaries) |
Transport the particle. | |
virtual void | fly (std::vector< gparticle * > &secondaries, const bool one_step) |
void | set_step_limits (const vfloat fmax_range, const vfloat frad_for_straight, const vfloat fmax_straight_arange, const vfloat fmax_circ_arange) |
Set limits/parameters for trajectory steps. | |
const vec & | position () const |
Get the current position of the particle. | |
vfloat | time () const |
Get the current time of the particle. | |
const vec & | direction () const |
Get the current direction of the particle. | |
bool | alive () const |
virtual void | print (std::ostream &file, int l) const |
Print-out. | |
virtual gparticle * | copy () const |
Clone the particle. | |
Public Member Functions inherited from Heed::particle_type | |
particle_type ()=default | |
particle_type (particle_def *f) | |
particle_type (const char *name, int s=0) | |
int | operator== (const particle_type &f) |
int | operator!= (const particle_type &f) |
void | print_notation (std::ostream &file) const |
Public Attributes | |
std::vector< HeedCondElectron > | conduction_electrons |
std::vector< HeedCondElectron > | conduction_ions |
long | parent_particle_number |
Public Attributes inherited from Heed::particle_type | |
particle_def * | pardef = nullptr |
Protected Member Functions | |
void | physics_mrange (double &fmrange) override |
void | physics_after_new_speed (std::vector< gparticle * > &secondaries) override |
Apply any other processes (turn the trajectory, kill the particle, ...). | |
Protected Member Functions inherited from Heed::eparticle | |
int | force (const point &pt, vec &f, vec &f_perp, vfloat &mrange) override |
Calculate force components. | |
Protected Member Functions inherited from Heed::mparticle | |
void | step (std::vector< gparticle * > &secondaries) override |
void | curvature (bool &curved, vec &frelcen, vfloat &fmrange, vfloat prec) override |
virtual int | force (const point &pt, vec &f, vec &f_perp, vfloat &mrange) |
Protected Member Functions inherited from Heed::gparticle | |
virtual void | step (std::vector< gparticle * > &secondaries) |
virtual void | change_vol () |
Move from one volume to another. | |
virtual void | curvature (bool &curved, vec &frelcen, vfloat &fmrange, vfloat prec) |
virtual void | physics_after_new_speed (std::vector< gparticle * > &) |
Apply any other processes (turn the trajectory, kill the particle, ...). | |
virtual void | physics (std::vector< gparticle * > &) |
Apply any other processes (turn the trajectory, kill the particle, ...). | |
virtual void | physics_mrange (double &fmrange) |
virtual stvpoint | calc_step_to_bord () |
Determine next position. | |
stvpoint | switch_new_vol () |
Generate next position in new volume. | |
Additional Inherited Members | |
Protected Attributes inherited from Heed::eparticle | |
HeedFieldMap * | m_fieldMap = nullptr |
Pointer to field map. | |
Protected Attributes inherited from Heed::mparticle | |
double | m_mass = 0. |
Mass (not mass * speed_of_light^2) | |
double | m_curr_ekin = 0. |
Current kinetic energy. | |
double | m_orig_ekin = 0. |
Original kinetic energy. | |
double | m_prev_ekin = 0. |
Previous kinetic energy. | |
double | m_curr_gamma_1 = 0. |
Current . | |
double | m_orig_gamma_1 = 0. |
Original . | |
double | m_prev_gamma_1 = 0. |
Previous . | |
Protected Attributes inherited from Heed::gparticle | |
bool | m_alive = false |
Status flag whether the particle is active. | |
long | m_nstep = 0 |
Step number. | |
long | m_nzero_step = 0 |
Number of previous steps with zero range (including this step). | |
stvpoint | m_origin |
Original point. | |
double | m_total_range_from_origin = 0. |
Range from origin to current position. | |
stvpoint | m_prevpos |
Previous point. | |
stvpoint | m_currpos |
Current point. | |
stvpoint | m_nextpos |
Next point. | |
Static Protected Attributes inherited from Heed::gparticle | |
static constexpr long | m_max_qzero_step = 100 |
Max. number of zero-steps allowed. | |
Definition of delta-electron which can be traced through the geometry. 2003, I. Smirnov
Definition at line 15 of file HeedDeltaElectron.h.
|
default |
Default constructor.
Referenced by copy().
Heed::HeedDeltaElectron::HeedDeltaElectron | ( | manip_absvol * | primvol, |
const point & | pt, | ||
const vec & | vel, | ||
vfloat | ftime, | ||
long | fparent_particle_number, | ||
HeedFieldMap * | fieldmap, | ||
bool | fs_print_listing = false |
||
) |
Constructor.
Definition at line 48 of file HeedDeltaElectron.cpp.
|
inlinevirtual |
|
inlineoverridevirtual |
Clone the particle.
Reimplemented from Heed::gparticle.
Definition at line 26 of file HeedDeltaElectron.h.
|
overrideprotectedvirtual |
Apply any other processes (turn the trajectory, kill the particle, ...).
Reimplemented from Heed::gparticle.
Definition at line 138 of file HeedDeltaElectron.cpp.
|
overrideprotectedvirtual |
Reduce the maximal possible range due to continuous processes. Called from calc_step_to_bord after the call of curvature. but before considering the crossing with volumes. Therefore mrange may be reduced after this.
Reimplemented from Heed::gparticle.
Definition at line 60 of file HeedDeltaElectron.cpp.
|
overridevirtual |
Print-out.
Reimplemented from Heed::gparticle.
Definition at line 397 of file HeedDeltaElectron.cpp.
std::vector<HeedCondElectron> Heed::HeedDeltaElectron::conduction_electrons |
Definition at line 31 of file HeedDeltaElectron.h.
Referenced by physics_after_new_speed(), and Garfield::TrackHeed::TransportDeltaElectron().
std::vector<HeedCondElectron> Heed::HeedDeltaElectron::conduction_ions |
Definition at line 32 of file HeedDeltaElectron.h.
Referenced by Garfield::TrackHeed::TransportDeltaElectron().
long Heed::HeedDeltaElectron::parent_particle_number |
Definition at line 34 of file HeedDeltaElectron.h.
Referenced by print().