Garfield++ v2r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <gparticle.h>
Public Member Functions | |
gparticle () | |
Default constructor. | |
gparticle (manip_absvol *primvol, const point &pt, const vec &vel, vfloat time) | |
Constructor. | |
virtual | ~gparticle () |
Destructor. | |
virtual void | step (std::vector< gparticle * > &secondaries) |
virtual void | change_vol (void) |
virtual void | curvature (int &fs_cf, vec &frelcen, vfloat &fmrange, vfloat prec) |
virtual void | physics_after_new_speed (std::vector< gparticle * > &) |
virtual void | physics (std::vector< gparticle * > &) |
virtual void | physics_mrange (double &fmrange) |
virtual stvpoint | calc_step_to_bord () |
Produces nextpos. | |
stvpoint | switch_new_vol () |
virtual void | fly (std::vector< gparticle * > &secondaries) |
Transport the particle. | |
virtual void | print (std::ostream &file, int l) const |
virtual gparticle * | copy () const |
Public Member Functions inherited from Heed::RegPassivePtr | |
RegPassivePtr (void) | |
RegPassivePtr (char fs_ban_del, char fs_ban_sub, char fs_ban_cop=0) | |
RegPassivePtr (const RegPassivePtr &f) | |
RegPassivePtr & | operator= (const RegPassivePtr &f) |
CountPP_ns::CountPassivePtr * | book (void) const |
void | clear_pointers (void) const |
virtual RegPassivePtr * | copy () const |
virtual | ~RegPassivePtr () |
virtual void | print (std::ostream &file, int l=1) const |
void | set_s_ban_del (char fs_ban_del) |
char | get_s_ban_del (void) const |
void | set_s_ban_sub (char fs_ban_sub) |
char | get_s_ban_sub (void) const |
void | set_s_ban_cop (char fs_ban_cop) |
char | get_s_ban_cop (void) const |
void | set_s_allow_del_at_zero_count (char fs_allow_del_at_zero_count) |
char | get_s_allow_del_at_zero_count (void) const |
long | get_total_number_of_references (void) const |
Public Attributes | |
bool | s_life |
long | nstep |
Step number. | |
double | total_range_from_origin |
Range from origin to currpos. | |
long | n_zero_step |
Number of previous steps with zero range (including this step). | |
stvpoint | origin |
stvpoint | prevpos |
stvpoint | currpos |
stvpoint | nextpos |
vec | curr_relcen |
Static Public Attributes | |
static long | max_q_zero_step = 100 |
Additional Inherited Members | |
Static Public Member Functions inherited from Heed::RegPassivePtr | |
static void | set_s_ban_del_ignore (char fs_ban_del_ignore) |
static char | get_s_ban_del_ignore (void) |
static void | set_s_print_adr_cpp (char fs_print_adr_cpp) |
static char | get_s_print_adr_cpp (void) |
"Geometric particle" (particle which does not interact with materials). It moves along a polyline line or circle from one volume to another. The flying is represented by changing of class members representing particle position. Interacted particle should be derived class from this one.
Definition at line 156 of file gparticle.h.
|
inline |
Heed::gparticle::gparticle | ( | manip_absvol * | primvol, |
const point & | pt, | ||
const vec & | vel, | ||
vfloat | time | ||
) |
Constructor.
Definition at line 43 of file gparticle.cpp.
|
inlinevirtual |
|
virtual |
Produces nextpos.
Definition at line 119 of file gparticle.cpp.
Referenced by step(), and Heed::mparticle::step().
|
inlinevirtual |
|
inlinevirtual |
Reimplemented from Heed::RegPassivePtr.
Reimplemented in Heed::HeedDeltaElectron, Heed::HeedParticle, Heed::HeedParticle_BGM, Heed::HeedPhoton, Heed::mparticle, and Heed::eparticle.
Definition at line 233 of file gparticle.h.
|
virtual |
Reimplemented in Heed::mparticle.
Definition at line 99 of file gparticle.cpp.
Referenced by calc_step_to_bord().
|
inlinevirtual |
Transport the particle.
Definition at line 225 of file gparticle.h.
Referenced by Garfield::TrackHeed::GetCluster(), Garfield::TrackHeed::NewTrack(), Garfield::TrackHeed::TransportDeltaElectron(), and Garfield::TrackHeed::TransportPhoton().
|
inlinevirtual |
Reimplemented in Heed::HeedParticle, Heed::HeedParticle_BGM, and Heed::HeedPhoton.
Definition at line 210 of file gparticle.h.
Referenced by fly().
|
inlinevirtual |
Reimplemented in Heed::HeedDeltaElectron, and Heed::HeedPhoton.
Definition at line 207 of file gparticle.h.
Referenced by step(), and Heed::mparticle::step().
|
virtual |
Reimplemented in Heed::HeedDeltaElectron.
Definition at line 116 of file gparticle.cpp.
Referenced by calc_step_to_bord().
|
virtual |
Reimplemented from Heed::RegPassivePtr.
Reimplemented in Heed::HeedDeltaElectron, Heed::HeedParticle, Heed::HeedParticle_BGM, Heed::HeedPhoton, Heed::mparticle, and Heed::eparticle.
Definition at line 200 of file gparticle.cpp.
Referenced by Heed::HeedPhoton::print(), and Heed::mparticle::print().
|
virtual |
Assign prevpos = currpos and currpos = nextpos, calls change_vol if necessary and update nextpos =calc_step_to_bord().
Reimplemented in Heed::mparticle.
Definition at line 77 of file gparticle.cpp.
Referenced by fly().
stvpoint Heed::gparticle::switch_new_vol | ( | void | ) |
Definition at line 160 of file gparticle.cpp.
Referenced by calc_step_to_bord().
vec Heed::gparticle::curr_relcen |
Definition at line 181 of file gparticle.h.
Referenced by calc_step_to_bord(), print(), step(), and Heed::mparticle::step().
stvpoint Heed::gparticle::currpos |
Definition at line 177 of file gparticle.h.
Referenced by calc_step_to_bord(), change_vol(), Heed::mparticle::check_consistency(), Heed::mparticle::curvature(), Garfield::TrackHeed::GetCluster(), gparticle(), Heed::mparticle::mparticle(), Heed::mparticle::new_speed(), Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), Heed::HeedPhoton::physics(), Heed::HeedDeltaElectron::physics_after_new_speed(), Heed::HeedPhoton::physics_after_new_speed(), Heed::HeedDeltaElectron::physics_mrange(), print(), step(), Heed::mparticle::step(), switch_new_vol(), and Garfield::TrackHeed::TransportPhoton().
|
static |
Definition at line 174 of file gparticle.h.
Referenced by step(), and Heed::mparticle::step().
long Heed::gparticle::n_zero_step |
Number of previous steps with zero range (including this step).
Definition at line 172 of file gparticle.h.
Referenced by print(), step(), and Heed::mparticle::step().
stvpoint Heed::gparticle::nextpos |
Definition at line 178 of file gparticle.h.
Referenced by gparticle(), Heed::HeedPhoton::physics(), print(), step(), and Heed::mparticle::step().
long Heed::gparticle::nstep |
Step number.
Definition at line 168 of file gparticle.h.
Referenced by print(), step(), and Heed::mparticle::step().
stvpoint Heed::gparticle::origin |
Definition at line 175 of file gparticle.h.
Referenced by Heed::mparticle::check_consistency(), gparticle(), Heed::mparticle::mparticle(), and print().
stvpoint Heed::gparticle::prevpos |
Definition at line 176 of file gparticle.h.
Referenced by Heed::mparticle::check_consistency(), Heed::mparticle::mparticle(), Heed::mparticle::new_speed(), Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), print(), step(), and Heed::mparticle::step().
bool Heed::gparticle::s_life |
Definition at line 166 of file gparticle.h.
Referenced by fly(), gparticle(), Heed::HeedDeltaElectron::physics_after_new_speed(), Heed::HeedPhoton::physics_after_new_speed(), print(), step(), Heed::mparticle::step(), and switch_new_vol().
double Heed::gparticle::total_range_from_origin |
Range from origin to currpos.
Definition at line 170 of file gparticle.h.
Referenced by print(), step(), and Heed::mparticle::step().