19 <<
" time=" <<
time <<
'\n';
25 Ifile <<
"point is outside universe\n";
35 Ifile <<
"next volume name " << s <<
'\n';
47 total_range_from_origin(0.0),
53 mfunname(
"gparticle::gparticle(...)");
88 "too much zero steps, possible infinite loop\n",
mcerr);
102 frelcen =
vec(0, 0, 0);
103 fmrange = max_vfloat;
120 pvecerror(
"stvpoint gparticle::calc_step_to_bord()");
162 mfunname(
"stvpoint gparticle::switch_new_vol(void)");
174 nextp.
tid.
eid[0]->m_find_embed_vol(pth, nextp.
dir, &tidl);
175 if (tidl.
eid.empty()) {
181 if (tidl == nextp.
tid) {
188 vec additional_dist = nextp.
dir * curprec;
189 pth = pth + additional_dist;
202 Ifile <<
"gparticle(l=" << l <<
"): s_life=" <<
s_life <<
" nstep=" <<
nstep
211 Ifile <<
"origin point:\n";
217 Ifile <<
"previous point:\n";
223 Ifile <<
"current point:\n";
231 Ifile <<
"next point:\n";
#define check_econd12a(a, sign, b, add, stream)
virtual int range(trajestep &fts, int s_ext, int &sb, PassivePtr< manip_absvol > &faeid) const
virtual void print(std::ostream &file, int l) const
virtual void physics_mrange(double &fmrange)
static long max_q_zero_step
virtual void change_vol(void)
virtual void physics_after_new_speed(std::vector< gparticle * > &)
virtual void curvature(int &fs_cf, vec &frelcen, vfloat &fmrange, vfloat prec)
double total_range_from_origin
Range from origin to currpos.
virtual stvpoint calc_step_to_bord()
Produces nextpos.
virtual void step(std::vector< gparticle * > &secondaries)
gparticle()
Default constructor.
stvpoint switch_new_vol()
long n_zero_step
Number of previous steps with zero range (including this step).
Service class (array of manip_absvol).
void print(std::ostream &file, int l) const
void up_absref(absref *f)
std::vector< PassivePtr< manip_absvol > > eid
List of volumes.
absvol * G_lavol() const
Get last address of volume.
Abstract base classs for volume "manipulators".
virtual int m_find_embed_vol(const point &fpt, const vec &fdir, manip_absvol_treeid *atid) const
Point in space, time and velocity.
void print(std::ostream &file, int l) const
vec dirloc
Unit vector, in the local system (last system in the tree).
vec dir
Unit vector, in the first system in the tree.
PassivePtr< manip_absvol > next_eid
vfloat prange
Range from previous point.
vfloat speed
Longitudinal velocity.
point pt
Coordinates in the first system in the tree.
point ptloc
Coordinates in the local system (last system in the tree).
vfloat max_straight_arange
Angle of range if it goes along straight line, but s_cf == 1.
vfloat mrange
Maximal possible range.
#define Iprint(file, name)
#define pvecerror(string)