75 G4cout <<
" >>> G4PreCompoundDeexcitation::collide" <<
G4endl;
80 G4cerr <<
" G4PreCompoundDeexcitation ERROR: residual fragment must be G4InuclNuclei"
86 if (ntarget->
getA() == 1) {
107 G4cout <<
" >>> G4PreCompoundDeexcitation::deExcite" <<
G4endl;
120 if (
explosion(fragment) && theExcitationHandler) {
122 precompoundProducts = theExcitationHandler->
BreakItUp(*fragment);
125 precompoundProducts = theDeExcitation->
DeExcite(*fragment);
129 if (precompoundProducts) {
131 G4cout <<
" Got " << precompoundProducts->size()
132 <<
" secondaries back from PreCompound:" <<
G4endl;
139 precompoundProducts->clear();
140 delete precompoundProducts;
std::vector< G4ReactionProduct * > G4ReactionProductVector
G4DLLIMPORT std::ostream G4cerr
G4DLLIMPORT std::ostream G4cout
virtual G4bool explosion(G4InuclNuclei *target) const
virtual G4bool validateOutput(G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &output)
void addOutgoingParticle(const G4InuclElementaryParticle &particle)
void setVerboseLevel(G4int verbose)
void add(const G4CollisionOutput &right)
void addOutgoingParticles(const std::vector< G4InuclElementaryParticle > &particles)
G4ReactionProductVector * BreakItUp(const G4Fragment &theInitialState) const
G4LorentzVector getMomentum() const
G4PreCompoundDeexcitation()
virtual void deExcite(G4Fragment *fragment, G4CollisionOutput &globalOutput)
virtual ~G4PreCompoundDeexcitation()
void collide(G4InuclParticle *, G4InuclParticle *target, G4CollisionOutput &globalOutput)
virtual G4ReactionProductVector * DeExcite(G4Fragment &aFragment)=0