56 using namespace G4InuclParticleNames;
63 theExcitationHandler(0), theDeExcitation(0) {
70 if (!theDeExcitation) {
94 G4cout <<
" >>> G4PreCompoundDeexcitation::deExcite" <<
G4endl;
102 if (
explosion(fragment) && theExcitationHandler) {
104 precompoundProducts = theExcitationHandler->
BreakItUp(fragment);
108 precompoundProducts =
109 theDeExcitation->
DeExcite(const_cast<G4Fragment&>(fragment));
113 if (precompoundProducts) {
115 G4cout <<
" Got " << precompoundProducts->size()
116 <<
" secondaries back from PreCompound:" <<
G4endl;
123 for (
size_t i = 0; i < precompoundProducts->size(); i++ ) {
124 if ( (*precompoundProducts)[ i ] ) {
125 delete (*precompoundProducts)[ i ];
126 (*precompoundProducts)[ i ] = 0;
129 precompoundProducts->clear();
130 delete precompoundProducts;
void setVerboseLevel(G4int verbose)
virtual void setVerboseLevel(G4int verbose=0)
virtual G4ReactionProductVector * DeExcite(G4Fragment &aFragment)=0
virtual void deExcite(const G4Fragment &fragment, G4CollisionOutput &globalOutput)
G4ReactionProductVector * BreakItUp(const G4Fragment &theInitialState)
std::vector< G4ReactionProduct * > G4ReactionProductVector
virtual ~G4PreCompoundDeexcitation()
G4GLOB_DLL std::ostream G4cout
virtual void setVerboseLevel(G4int verbose)
G4HadronicInteraction * FindModel(const G4String &name)
void addOutgoingParticles(const std::vector< G4InuclElementaryParticle > &particles)
virtual G4bool explosion(const G4Fragment &target) const
static G4HadronicInteractionRegistry * Instance()
G4PreCompoundDeexcitation()
void SetVerboseLevel(G4int value)