50 {
51 G4DecayKineticTracks
decay(theSecondaries);
52
53
56 catch(...) {
57 throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: out of memory ");
58 }
59
60 G4ReactionProduct * it = NULL;
61
62 G4KineticTrackVector::iterator secIter = theSecondaries->begin();
63 for(; secIter != theSecondaries->end(); ++secIter) {
64 G4KineticTrack* aSecondary = *secIter;
65 if (!aSecondary) continue;
66
67 try { it = new G4ReactionProduct(); }
68 catch(...) {
69 throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: out of memory ");
70 }
71
79 delete aSecondary;
80 try { theResult->push_back(it); }
81 catch(...){
82 throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: push to result failed - out of mem.");
83 }
84 }
85 delete theSecondaries;
86
87 return theResult;
88}
std::vector< G4ReactionProduct * > G4ReactionProductVector
G4int GetParentResonanceID() const
G4int GetCreatorModelID() const
const G4ParticleDefinition * GetDefinition() const
const G4ParticleDefinition * GetParentResonanceDef() const
const G4LorentzVector & Get4Momentum() const
G4double GetPDGMass() const
void SetMomentum(const G4double x, const G4double y, const G4double z)
void SetTotalEnergy(const G4double en)
void SetParentResonanceDef(const G4ParticleDefinition *parentDef)
void SetCreatorModelID(const G4int mod)
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
void SetParentResonanceID(const G4int parentID)
void SetMass(const G4double mas)
ParticleList decay(Cluster *const c)
Carries out a cluster decay.