44 : verboseLevel(0), current_zone(-1), current_path(-1.), movingIn(false),
45 reflectionCounter(0), reflected(false), generation(-1) {
46 if (verboseLevel > 3) {
47 G4cout <<
" >>> G4CascadParticle::G4CascadParticle" <<
G4endl;
56 if (verboseLevel > 3)
G4cout <<
" >>> G4CascadParticle::fill" <<
G4endl;
58 theParticle = particle;
63 reflectionCounter = 0;
71 if (verboseLevel > 3) {
72 G4cout <<
" >>> G4CascadParticle::getPathToTheNextZone rz_in " << rz_in
73 <<
" rz_out " << rz_out <<
G4endl;
83 if (std::abs(pp) < 1
e-9) {
84 if (verboseLevel > 3)
G4cout <<
" at rest; path length is zero" <<
G4endl;
93 if (verboseLevel > 3) {
94 G4cout <<
" current_zone " << current_zone <<
" rr " << rr
95 <<
" rp " << rp <<
" pp " << pp <<
" ra " << ra <<
G4endl;
98 if (current_zone == 0 || rp > 0.0) {
99 d2 = rz_out * rz_out - ra;
104 d2 = rz_in * rz_in - ra;
109 d2 = rz_in * rz_in - ra;
114 d2 = rz_out * rz_out - ra;
120 if (verboseLevel > 3)
G4cout <<
" ds " << ds <<
" d2 " << d2 <<
G4endl;
122 if (d2 < 0.0 && d2 > -1
e-6) d2 = 0.;
124 if (d2 > 0.0) path = ds * std::sqrt(d2) - rp /
pp;
130 if (verboseLevel > 3) {
131 G4cout <<
" >>> G4CascadParticle::propagateAlongThePath" <<
G4endl;
146 os << theParticle <<
G4endl
147 <<
" zone " << current_zone <<
" current_path " << current_path
148 <<
" reflectionCounter " << reflectionCounter <<
G4endl