76 throw G4HadronicException(__FILE__, __LINE__,
"G4InuclEvaporation::copy_constructor meant to not be accessible.");
84 throw G4HadronicException(__FILE__, __LINE__,
"G4InuclEvaporation::operator= meant to not be accessible.");
97 verboseLevel = verbose;
104 theResult->push_back(
new G4Fragment(theNucleus));
118 if ( verboseLevel > 2 )
119 G4cout <<
" G4InuclEvaporation : initial kinematics : boostToLab vector = " << boostToLab <<
G4endl
120 <<
" excitation energy : " << exitationE <<
G4endl;
122 if (verboseLevel > 2) {
123 G4cout <<
"G4InuclEvaporation::BreakItUp >>> A: " <<
A <<
" Z: " << Z
124 <<
" exitation E: " << exitationE <<
" mass: " << mTar/GeV <<
" GeV"
132 evaporator->
collide(0, nucleus, output);
139 if (!particles.empty()) {
142 for (; ipart != particles.cend(); ++ipart) {
143 outgoingType = ipart->type();
145 if (verboseLevel > 2) {
146 G4cout <<
"Evaporated particle: " << i <<
" of type: "
147 << outgoingType <<
G4endl;
154 theResult->push_back(
new G4Fragment(vlab, ipart->getDefinition()) );
158 if (!outgoingNuclei.empty()) {
160 for (i=1; ifrag != outgoingNuclei.cend(); ++ifrag) {
161 if (verboseLevel > 2) {
167 G4int fragA = ifrag->getA();
169 if (verboseLevel > 2) {
172 theResult->push_back(
new G4Fragment(fragA, fragZ, vlab) );
std::vector< G4InuclElementaryParticle >::iterator particleIterator
std::vector< G4InuclNuclei >::const_iterator nucleiIterator
std::vector< G4Fragment * > G4FragmentVector
std::vector< G4InuclElementaryParticle >::const_iterator particleIterator
std::vector< G4InuclNuclei >::const_iterator nucleiIterator
G4GLOB_DLL std::ostream G4cout
HepLorentzVector & boost(double, double, double)
const std::vector< G4InuclNuclei > & getOutgoingNuclei() const
const std::vector< G4InuclElementaryParticle > & getOutgoingParticles() const
G4double GetExcitationEnergy() const
const G4LorentzVector & GetMomentum() const
G4FragmentVector * BreakItUp(const G4Fragment &theNucleus)
void setVerboseLevel(const G4int verbose)
void setExitationEnergy(G4double e)
static G4double GetNuclearMass(const G4double A, const G4double Z)
virtual void collide(G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &globalOutput)