Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4PreCompoundDeexcitation Class Reference

#include <G4PreCompoundDeexcitation.hh>

Inheritance diagram for G4PreCompoundDeexcitation:
G4CascadeDeexciteBase G4VCascadeDeexcitation G4VCascadeCollider

Public Member Functions

 G4PreCompoundDeexcitation ()
 
virtual ~G4PreCompoundDeexcitation ()
 
virtual void setVerboseLevel (G4int verbose)
 
virtual void deExcite (const G4Fragment &fragment, G4CollisionOutput &globalOutput)
 
- Public Member Functions inherited from G4CascadeDeexciteBase
 G4CascadeDeexciteBase (const char *name)
 
virtual ~G4CascadeDeexciteBase ()
 
- Public Member Functions inherited from G4VCascadeDeexcitation
 G4VCascadeDeexcitation (const char *name)
 
virtual ~G4VCascadeDeexcitation ()
 
virtual void collide (G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &globalOutput)
 
- Public Member Functions inherited from G4VCascadeCollider
 G4VCascadeCollider (const char *name, G4int verbose=0)
 
virtual ~G4VCascadeCollider ()
 

Additional Inherited Members

- Protected Member Functions inherited from G4CascadeDeexciteBase
virtual G4bool explosion (const G4Fragment &target) const
 
virtual G4bool explosion (G4int A, G4int Z, G4double excitation) const
 
virtual G4bool validateOutput (const G4Fragment &target, G4CollisionOutput &output)
 
virtual G4bool validateOutput (const G4Fragment &target, const std::vector< G4InuclElementaryParticle > &particles)
 
virtual G4bool validateOutput (const G4Fragment &target, const std::vector< G4InuclNuclei > &fragments)
 
void getTargetData (const G4Fragment &target)
 
const G4FragmentmakeFragment (G4LorentzVector mom, G4int A, G4int Z, G4double EX=0.)
 
const G4FragmentmakeFragment (G4int A, G4int Z, G4double EX=0.)
 
- Protected Member Functions inherited from G4VCascadeCollider
virtual void setName (const char *name)
 
- Protected Attributes inherited from G4CascadeDeexciteBase
G4CascadeCheckBalancebalance
 
G4int A
 
G4int Z
 
G4LorentzVector PEX
 
G4double EEXS
 
G4Fragment aFragment
 
- Protected Attributes inherited from G4VCascadeCollider
const char * theName
 
G4int verboseLevel
 

Detailed Description

Definition at line 51 of file G4PreCompoundDeexcitation.hh.

Constructor & Destructor Documentation

G4PreCompoundDeexcitation::G4PreCompoundDeexcitation ( )

Definition at line 59 of file G4PreCompoundDeexcitation.cc.

60  : G4CascadeDeexciteBase("G4PreCompoundDeexcitation"),
61  theExcitationHandler(new G4ExcitationHandler),
62  theDeExcitation(new G4PreCompoundModel(theExcitationHandler)) {}
G4CascadeDeexciteBase(const char *name)
G4PreCompoundDeexcitation::~G4PreCompoundDeexcitation ( )
virtual

Definition at line 64 of file G4PreCompoundDeexcitation.cc.

64  {
65  // Per V.I. -- do not delete locally; handled in hadronic registry
66  //delete theExcitationHandler;
67  //delete theDeExcitation;
68 }

Member Function Documentation

void G4PreCompoundDeexcitation::deExcite ( const G4Fragment fragment,
G4CollisionOutput globalOutput 
)
virtual

Implements G4VCascadeDeexcitation.

Definition at line 79 of file G4PreCompoundDeexcitation.cc.

References G4CollisionOutput::addOutgoingParticles(), G4ExcitationHandler::BreakItUp(), G4VPreCompoundModel::DeExcite(), G4CascadeDeexciteBase::explosion(), G4cout, G4endl, G4CollisionOutput::setVerboseLevel(), and G4VCascadeCollider::verboseLevel.

80  {
81  if (verboseLevel)
82  G4cout << " >>> G4PreCompoundDeexcitation::deExcite" << G4endl;
83 
84  if (verboseLevel > 1) G4cout << fragment << G4endl;
85 
86  G4ReactionProductVector* precompoundProducts = 0;
87 
88  // FIXME: in principle, the explosion(...) stuff should also
89  // handle properly the case of Z=0 (neutron blob)
90  if (explosion(fragment) && theExcitationHandler) {
91  if (verboseLevel) G4cout << " calling BreakItUp" << G4endl;
92  precompoundProducts = theExcitationHandler->BreakItUp(fragment);
93  } else {
94  if (verboseLevel) G4cout << " calling DeExcite" << G4endl;
95  // NOTE: DeExcite() interface takes a *non-const* reference
96  precompoundProducts =
97  theDeExcitation->DeExcite(const_cast<G4Fragment&>(fragment));
98  }
99 
100  // Transfer output of de-excitation back into Bertini objects
101  if (precompoundProducts) {
102  if (verboseLevel>1) {
103  G4cout << " Got " << precompoundProducts->size()
104  << " secondaries back from PreCompound:" << G4endl;
105  }
106 
107  globalOutput.setVerboseLevel(verboseLevel); // For debugging
108  globalOutput.addOutgoingParticles(precompoundProducts);
109  globalOutput.setVerboseLevel(0);
110 
111  precompoundProducts->clear();
112  delete precompoundProducts;
113  }
114 }
void setVerboseLevel(G4int verbose)
virtual G4ReactionProductVector * DeExcite(G4Fragment &aFragment)=0
G4ReactionProductVector * BreakItUp(const G4Fragment &theInitialState) const
std::vector< G4ReactionProduct * > G4ReactionProductVector
G4GLOB_DLL std::ostream G4cout
void addOutgoingParticles(const std::vector< G4InuclElementaryParticle > &particles)
virtual G4bool explosion(const G4Fragment &target) const
#define G4endl
Definition: G4ios.hh:61
void G4PreCompoundDeexcitation::setVerboseLevel ( G4int  verbose)
virtual

Reimplemented from G4CascadeDeexciteBase.

Definition at line 70 of file G4PreCompoundDeexcitation.cc.

References G4CascadeDeexciteBase::setVerboseLevel(), and G4HadronicInteraction::SetVerboseLevel().

70  {
72  theDeExcitation->SetVerboseLevel(verbose);
73  // NOTE: G4ExcitationHandler doesn't have verbosity
74 }
virtual void setVerboseLevel(G4int verbose=0)
virtual void SetVerboseLevel(G4int value)

The documentation for this class was generated from the following files: