33 const G4Track* G4PrimaryTrack = fastTrack.GetPrimaryTrack();
39 std::vector<std::map<std::string, double>> secKinematicsMapVect;
42 auto secTrackCont = std::make_unique<G4TrackVector>();
45 double punchThroughClassifierRand = CLHEP::RandFlat::shoot(rng);
51 if( punchThroughProbability > punchThroughClassifierRand){
52 secKinematicsMapVect =
m_PunchThroughG4Tool->computePunchThroughParticles(fastTrack, rng, punchThroughProbability, punchThroughClassifierRand);
55 if(secKinematicsMapVect.size()!=0){
57 m_PunchThroughG4Tool->createAllSecondaryTracks(ptable, fastStep, *G4PrimaryTrack, secKinematicsMapVect, *secTrackCont, caloMSVars);
virtual void DoPunchThroughSim(G4ParticleTable &ptable, CLHEP::HepRandomEngine *rng, const double simE, std::vector< double > simEfrac, const G4FastTrack &fastTrack, G4FastStep &fastStep)