32 #include "G4DecKineticTracks.hh"
33 #include "G4KineticTrackVector.hh"
34 #include "G4KineticTrack.hh"
39 G4DecKineticTracks::G4DecKineticTracks(G4KineticTrackVector *tracks) {
40 if (tracks) Decay(tracks);
43 void G4DecKineticTracks::Decay(G4KineticTrackVector *tracks)
const {
55 G4KineticTrackVector* daughters = 0;
56 for (
size_t i=0;
i<tracks->size(); ++
i) {
57 G4KineticTrack*
track = (*tracks)[
i];
68 daughters = track->GetDefinition()->IsShortLived() ? track->Decay() : 0;
69 if(track->GetDefinition()->GetParticleName() ==
"eta" ) daughters = track->Decay();
70 if(track->GetDefinition()->GetParticleName() ==
"eta_prime") daughters = track->Decay();
80 tracks->insert(tracks->end(), daughters->begin(), daughters->end());
88 for (
int j=tracks->size()-1; j>=0; --j) {
89 if (NULL == (*tracks)[j]) tracks->erase(tracks->begin()+j);