62 theExcitationHandler(0), theDeExcitation(0) {
69 if (!theDeExcitation) {
93 G4cout <<
" >>> G4PreCompoundDeexcitation::deExcite" <<
G4endl;
100 if (
explosion(fragment) && theExcitationHandler) {
104 precompoundProducts = theExcitationHandler->
BreakItUp(fragment);
112 precompoundProducts =
113 theDeExcitation->
DeExcite(originalFragment);
117 if (precompoundProducts) {
119 G4cout <<
" Got " << precompoundProducts->size()
120 <<
" secondaries back from PreCompound:" <<
G4endl;
127 for (
size_t i = 0; i < precompoundProducts->size(); i++ ) {
128 if ( (*precompoundProducts)[ i ] ) {
129 delete (*precompoundProducts)[ i ];
130 (*precompoundProducts)[ i ] = 0;
133 precompoundProducts->clear();
134 delete precompoundProducts;
std::vector< G4ReactionProduct * > G4ReactionProductVector
G4GLOB_DLL std::ostream G4cout
virtual void setVerboseLevel(G4int verbose=0)
virtual G4bool explosion(const G4Fragment &target) const
void setVerboseLevel(G4int verbose)
void addOutgoingParticles(const std::vector< G4InuclElementaryParticle > &particles)
G4ReactionProductVector * BreakItUp(const G4Fragment &theInitialState)
G4HadronicInteraction * FindModel(const G4String &name)
static G4HadronicInteractionRegistry * Instance()
void SetVerboseLevel(G4int value)
G4PreCompoundDeexcitation()
virtual void setVerboseLevel(G4int verbose)
virtual ~G4PreCompoundDeexcitation()
virtual void deExcite(const G4Fragment &fragment, G4CollisionOutput &globalOutput)
virtual G4ReactionProductVector * DeExcite(G4Fragment &aFragment)=0