Int_t verbosityLevel = fluka->GetVerbosityLevel();
Bool_t debug = (verbosityLevel>=3)?kTRUE:kFALSE;
+
fluka->SetTrackIsNew(kTRUE);
// Get the stack produced from the generator
if (debug) cout << endl << " !!! stupre (COMPTON) : ntr=" << ntr << " pdg " << pdg << " parent=" << parent << endl;
EMFSTK.iespak[kp][mkbmx2-1] = ntr;
EMFSTK.iespak[kp][mkbmx2-2] = 0;
- }
+ } else {
+ fluka->SetPint(px, py, pz, e);
+ }
} // end of lcmptn
//* Bremsstrahlung: true secondary only if charge = 0 (photon)
if (debug) cout << endl << " !!! stupre (BREMS) : ntr=" << ntr << " pdg " << pdg << " parent=" << parent << endl;
EMFSTK.iespak[kp][mkbmx2-1] = ntr;
EMFSTK.iespak[kp][mkbmx2-2] = 0;
- }
+ } else {
+ fluka->SetPint(px, py, pz, e);
+ }
+
} // end of lbrmsp
//* Delta ray: If Bhabha, true secondary only if negative (electron)
if (EMFSTK.ichemf[kp] == -1) {
mech = kPDeltaRay;
cppstack->PushTrack(done, parent, pdg,
- px, py, pz, e, vx, vy, vz, tof,
- polx, poly, polz, mech, ntr, weight, is);
+ px, py, pz, e, vx, vy, vz, tof,
+ polx, poly, polz, mech, ntr, weight, is);
EMFSTK.iespak[kp][mkbmx2-1] = ntr;
EMFSTK.iespak[kp][mkbmx2-2] = 0;
- if (debug) cout << endl << " !!! stupre (BHABA) : ntr=" << ntr << " pdg " << pdg << " parent=" << parent << endl;
- } // end of Bhabha
+ if (debug) cout << endl << " !!! stupre (BHABA) : ntr=" << ntr << " pdg " << pdg << " parent=" << parent << endl;
+ } else {
+ fluka->SetPint(px, py, pz, e);
+ }
} // lbhabh == 1
//* Delta ray: Otherwise Moller: true secondary is the electron with
if (debug) cout << endl << " !!! stupre (Moller) : ntr=" << ntr << " pdg " << pdg << " parent=" << parent << endl;
EMFSTK.iespak[kp][mkbmx2-1] = ntr;
EMFSTK.iespak[kp][mkbmx2-2] = 0;
- } // end of Delta ray
+ } else {
+ fluka->SetPint(px, py, pz, e);
+ }
} // end of ldltry
} // end of loop