Geant4-11
Public Member Functions | Private Member Functions
G4DecayStrongResonances Class Reference

#include <G4DecayStrongResonances.hh>

Public Member Functions

 G4DecayStrongResonances ()
 
G4ReactionProductVectorPropagate (G4KineticTrackVector *theSecondaries, G4V3DNucleus *)
 
 ~G4DecayStrongResonances ()
 

Private Member Functions

G4bool operator!= (G4DecayStrongResonances &right)
 
G4bool operator== (G4DecayStrongResonances &right)
 

Detailed Description

Definition at line 45 of file G4DecayStrongResonances.hh.

Constructor & Destructor Documentation

◆ G4DecayStrongResonances()

G4DecayStrongResonances::G4DecayStrongResonances ( )

Definition at line 44 of file G4DecayStrongResonances.cc.

44{}

◆ ~G4DecayStrongResonances()

G4DecayStrongResonances::~G4DecayStrongResonances ( )

Definition at line 46 of file G4DecayStrongResonances.cc.

46{}

Member Function Documentation

◆ operator!=()

G4bool G4DecayStrongResonances::operator!= ( G4DecayStrongResonances right)
inlineprivate

Definition at line 53 of file G4DecayStrongResonances.hh.

53{return (this != &right);}

◆ operator==()

G4bool G4DecayStrongResonances::operator== ( G4DecayStrongResonances right)
inlineprivate

Definition at line 52 of file G4DecayStrongResonances.hh.

52{return (this == &right);}

◆ Propagate()

G4ReactionProductVector * G4DecayStrongResonances::Propagate ( G4KineticTrackVector theSecondaries,
G4V3DNucleus  
)

Definition at line 49 of file G4DecayStrongResonances.cc.

50 {
51 G4DecayKineticTracks decay(theSecondaries); // Changes input list in situ
52
53 // translate to ReactionProducts
54 G4ReactionProductVector * theResult;
55 try { theResult = new G4ReactionProductVector; }
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; // Skip null pointers
66
67 try { it = new G4ReactionProduct(); }
68 catch(...) {
69 throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: out of memory ");
70 }
71
72 it->SetDefinition(aSecondary->GetDefinition());
73 it->SetMass(aSecondary->GetDefinition()->GetPDGMass());
74 it->SetTotalEnergy(aSecondary->Get4Momentum().t());
75 it->SetMomentum(aSecondary->Get4Momentum().vect());
76 it->SetCreatorModelID(aSecondary->GetCreatorModelID());
77 delete aSecondary;
78 try { theResult->push_back(it); }
79 catch(...){
80 throw G4HadronicException(__FILE__, __LINE__, "DecayStrongRes: push to result failed - out of mem.");
81 }
82 }
83 delete theSecondaries;
84
85 return theResult;
86}
std::vector< G4ReactionProduct * > G4ReactionProductVector
Hep3Vector vect() const
G4int GetCreatorModelID() const
const G4ParticleDefinition * GetDefinition() const
const G4LorentzVector & Get4Momentum() const
void SetMomentum(const G4double x, const G4double y, const G4double z)
void SetTotalEnergy(const G4double en)
void SetCreatorModelID(const G4int mod)
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
void SetMass(const G4double mas)
ParticleList decay(Cluster *const c)
Carries out a cluster decay.

References G4INCL::ClusterDecay::decay(), G4KineticTrack::Get4Momentum(), G4KineticTrack::GetCreatorModelID(), G4KineticTrack::GetDefinition(), G4ParticleDefinition::GetPDGMass(), G4ReactionProduct::SetCreatorModelID(), G4ReactionProduct::SetDefinition(), G4ReactionProduct::SetMass(), G4ReactionProduct::SetMomentum(), G4ReactionProduct::SetTotalEnergy(), CLHEP::HepLorentzVector::t(), and CLHEP::HepLorentzVector::vect().

Referenced by G4TheoFSGenerator::ApplyYourself().


The documentation for this class was generated from the following files: