Garfield++ v2r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <trajestep.h>
Public Member Functions | |
void | Gnextpoint (vfloat frange, point &fpos, vec &fdir) const |
void | Gnextpoint1 (vfloat frange, point &fpos, vec &fdir, vec &frelcen) const |
trajestep (trajestep_limit *ftl, const point &fcurrpos, const vec &fdir, int fs_cf, const vec &frelcen, vfloat fmrange, vfloat prec) | |
trajestep (const trajestep &fts, vfloat fmrange) | |
trajestep () | |
Default constructor. | |
virtual | ~trajestep () |
Destructor. | |
Public Member Functions inherited from Heed::absref | |
virtual | ~absref () |
Destructor. | |
virtual void | down (const abssyscoor *fasc) |
Convert numbering representation of object to basical system of fasc. | |
virtual void | up (const abssyscoor *fasc) |
Convert numbering representation of objects to new system. | |
virtual void | turn (const vec &dir, vfloat angle) |
Turn around axis doing via center of coordinate system along dir. | |
virtual void | shift (const vec &dir) |
Public Attributes | |
PassivePtr< trajestep_limit > | tl |
point | currpos |
vec | dir |
Unit vector. | |
int | s_cf |
vec | relcen |
int | s_range_cf |
int | s_prec |
vfloat | mrange |
Maximal possible range. | |
point | mpoint |
Protected Member Functions | |
virtual void | get_components (ActivePtr< absref_transmit > &aref_tran) |
Static Protected Attributes | |
static absrefabsref::*[4] | aref |
Trajectory step of any object (particle, photon, ...). Here we interested in geometrical parameters only. The time, speed, acceleration, mass, and forces are not interesting here. The object can move by straight line or by curved line. The real trajectory is approximated by little steps. Each step can be straight or with constant curvature (circumference). If the path is always straight (for example for light or neutral particles), the step length is limited by extra conditions, typically edge of a volume. If the path is curved, the step length is limited first by length at which the curvature is changed, then by precision of approximation of the real shape of curvature.
Definition at line 65 of file trajestep.h.
Heed::trajestep::trajestep | ( | trajestep_limit * | ftl, |
const point & | fcurrpos, | ||
const vec & | fdir, | ||
int | fs_cf, | ||
const vec & | frelcen, | ||
vfloat | fmrange, | ||
vfloat | prec | ||
) |
Constructor. Here prec is used to check if frelcen is perp. to dir. If it is not perpendicular with this precision, the function terminates the program. To reduce range fmrange may be used.
Definition at line 38 of file trajestep.cpp.
Constructor to continue propagation from the end point of another step.
fts | old step to continue |
fmrange | new range to travel |
Definition at line 64 of file trajestep.cpp.
|
inline |
Default constructor.
Definition at line 113 of file trajestep.h.
Referenced by trajestep().
|
inlinevirtual |
|
protectedvirtual |
Definition at line 76 of file trajestep.cpp.
Referenced by Heed::stvpoint::stvpoint().
Definition at line 103 of file trajestep.cpp.
Referenced by trajestep().
|
staticprotected |
Definition at line 128 of file trajestep.h.
Referenced by get_components().
point Heed::trajestep::currpos |
Definition at line 68 of file trajestep.h.
Referenced by Gnextpoint(), Gnextpoint1(), Heed::operator<<(), Heed::splane::range(), Heed::box::range_ext(), and Heed::ulsvolume::range_ext().
vec Heed::trajestep::dir |
Unit vector.
Definition at line 70 of file trajestep.h.
Referenced by Gnextpoint(), Gnextpoint1(), Heed::operator<<(), Heed::splane::range(), Heed::ulsvolume::range_ext(), and trajestep().
point Heed::trajestep::mpoint |
Definition at line 95 of file trajestep.h.
Referenced by Heed::operator<<(), Heed::ulsvolume::range_ext(), and Heed::stvpoint::stvpoint().
vfloat Heed::trajestep::mrange |
Maximal possible range.
Definition at line 90 of file trajestep.h.
Referenced by Heed::gparticle::calc_step_to_bord(), Gnextpoint(), Gnextpoint1(), Heed::operator<<(), Heed::splane::range(), Heed::box::range_ext(), Heed::ulsvolume::range_ext(), Heed::stvpoint::stvpoint(), and trajestep().
vec Heed::trajestep::relcen |
Definition at line 80 of file trajestep.h.
Referenced by Gnextpoint(), Gnextpoint1(), Heed::operator<<(), Heed::splane::range(), and trajestep().
int Heed::trajestep::s_cf |
Type of trajectory. 0 - the track is straight, 1 - curved track (but the range may anyway be calculated as straight line, depending on s_range_cf)
Definition at line 75 of file trajestep.h.
Referenced by Gnextpoint(), Gnextpoint1(), Heed::operator<<(), and trajestep().
int Heed::trajestep::s_prec |
Definition at line 87 of file trajestep.h.
Referenced by Heed::gparticle::calc_step_to_bord(), Heed::operator<<(), and Heed::ulsvolume::range_ext().
int Heed::trajestep::s_range_cf |
Definition at line 84 of file trajestep.h.
Referenced by Gnextpoint(), Gnextpoint1(), Heed::operator<<(), Heed::splane::range(), and trajestep().
PassivePtr<trajestep_limit> Heed::trajestep::tl |
Definition at line 67 of file trajestep.h.
Referenced by trajestep().