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);
140 if (!particles.empty()) {
143 for (; ipart != particles.end(); ipart++) {
144 outgoingType = ipart->type();
146 if (verboseLevel > 2) {
147 G4cout <<
"Evaporated particle: " << i <<
" of type: "
148 << outgoingType <<
G4endl;
152 eTot += ipart->getEnergy();
157 theResult->push_back(
new G4Fragment(vlab, ipart->getDefinition()) );
161 if (!outgoingNuclei.empty()) {
163 for (i=1; ifrag != outgoingNuclei.end(); ifrag++) {
164 if (verboseLevel > 2) {
168 eTot += ifrag->getEnergy();
172 G4int fragA = ifrag->getA();
174 if (verboseLevel > 2) {
177 theResult->push_back(
new G4Fragment(fragA, fragZ, vlab) );
std::vector< G4InuclElementaryParticle >::iterator particleIterator
std::vector< G4InuclNuclei >::const_iterator nucleiIterator
double A(double temperature)
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)