Geant4  10.02.p03
G4CascadeDeexcitation Class Reference

#include <G4CascadeDeexcitation.hh>

Inheritance diagram for G4CascadeDeexcitation:
Collaboration diagram for G4CascadeDeexcitation:

Public Member Functions

 G4CascadeDeexcitation ()
 
virtual ~G4CascadeDeexcitation ()
 
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 G4String &name)
 
virtual ~G4VCascadeDeexcitation ()
 
virtual void collide (G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &globalOutput)
 
- Public Member Functions inherited from G4VCascadeCollider
 G4VCascadeCollider (const G4String &name, G4int verbose=0)
 
virtual ~G4VCascadeCollider ()
 

Private Member Functions

 G4CascadeDeexcitation (const G4CascadeDeexcitation &)
 
G4CascadeDeexcitationoperator= (const G4CascadeDeexcitation &)
 

Private Attributes

G4BigBangertheBigBanger
 
G4NonEquilibriumEvaporatortheNonEquilibriumEvaporator
 
G4EquilibriumEvaporator * theEquilibriumEvaporator
 
G4CollisionOutput tempOutput
 

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 G4String &name)
 
- Protected Attributes inherited from G4CascadeDeexciteBase
G4CascadeCheckBalancebalance
 
G4int A
 
G4int Z
 
G4LorentzVector PEX
 
G4double EEXS
 
G4Fragment aFragment
 
- Protected Attributes inherited from G4VCascadeCollider
G4String theName
 
G4int verboseLevel
 

Detailed Description

Definition at line 49 of file G4CascadeDeexcitation.hh.

Constructor & Destructor Documentation

◆ G4CascadeDeexcitation() [1/2]

G4CascadeDeexcitation::G4CascadeDeexcitation ( )

Definition at line 47 of file G4CascadeDeexcitation.cc.

48  : G4CascadeDeexciteBase("G4CascadeDeexcitation"),
51  theEquilibriumEvaporator(new G4EquilibriumEvaporator) {}
G4EquilibriumEvaporator * theEquilibriumEvaporator
G4NonEquilibriumEvaporator * theNonEquilibriumEvaporator
G4CascadeDeexciteBase(const char *name)

◆ ~G4CascadeDeexcitation()

G4CascadeDeexcitation::~G4CascadeDeexcitation ( )
virtual

Definition at line 53 of file G4CascadeDeexcitation.cc.

53  {
54  delete theBigBanger;
57 }
G4EquilibriumEvaporator * theEquilibriumEvaporator
G4NonEquilibriumEvaporator * theNonEquilibriumEvaporator

◆ G4CascadeDeexcitation() [2/2]

G4CascadeDeexcitation::G4CascadeDeexcitation ( const G4CascadeDeexcitation )
private

Member Function Documentation

◆ deExcite()

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

Implements G4VCascadeDeexcitation.

Definition at line 69 of file G4CascadeDeexcitation.cc.

70  {
71  if (verboseLevel) {
72  G4cout << " >>> G4CascadeDeexcitation::deExcite" << G4endl;
73  }
74 
75  if (verboseLevel > 1) G4cout << fragment << G4endl;
76 
77  // Check if fragment should be broken up
78  if (explosion(fragment)) {
79  if (verboseLevel > 1) G4cout << " big bang after cascade " << G4endl;
80 
81  // Add result of explosion directly to output and exit
82  theBigBanger->deExcite(fragment, globalOutput);
83  return;
84  }
85 
86  // Fragment is unstable nucleus
87  tempOutput.reset();
89 
90  if (verboseLevel > 1) {
91  G4cout << " After NonEquilibriumEvaporator " << G4endl;
93  }
94 
95  // Copy evaporated particles (not nuclear fragment) to output
97 
98  // Use nuclear fragment left from non-equilibrium for next step
99  // NOTE: Must make a copy before reset occurs below
101 
102  tempOutput.reset();
103  theEquilibriumEvaporator->deExcite(newfrag, tempOutput);
104 
105  if (verboseLevel > 1) {
106  G4cout << " After EquilibriumEvaporator " << G4endl;
108  }
109 
110  globalOutput.add(tempOutput); // Evaporated particles and nucleus
111 }
G4EquilibriumEvaporator * theEquilibriumEvaporator
virtual void deExcite(const G4Fragment &target, G4CollisionOutput &output)
virtual G4bool explosion(const G4Fragment &target) const
const std::vector< G4InuclElementaryParticle > & getOutgoingParticles() const
G4CollisionOutput tempOutput
void add(const G4CollisionOutput &right)
G4GLOB_DLL std::ostream G4cout
G4NonEquilibriumEvaporator * theNonEquilibriumEvaporator
void addOutgoingParticles(const std::vector< G4InuclElementaryParticle > &particles)
#define G4endl
Definition: G4ios.hh:61
virtual void deExcite(const G4Fragment &target, G4CollisionOutput &output)
Definition: G4BigBanger.cc:69
void printCollisionOutput(std::ostream &os=G4cout) const
const G4Fragment & getRecoilFragment(G4int index=0) const
Here is the call graph for this function:

◆ operator=()

G4CascadeDeexcitation& G4CascadeDeexcitation::operator= ( const G4CascadeDeexcitation )
private

◆ setVerboseLevel()

void G4CascadeDeexcitation::setVerboseLevel ( G4int  verbose)
virtual

Reimplemented from G4CascadeDeexciteBase.

Definition at line 59 of file G4CascadeDeexcitation.cc.

59  {
61  theBigBanger->setVerboseLevel(verbose);
63  theEquilibriumEvaporator->setVerboseLevel(verbose);
64 }
G4EquilibriumEvaporator * theEquilibriumEvaporator
virtual void setVerboseLevel(G4int verbose=0)
G4NonEquilibriumEvaporator * theNonEquilibriumEvaporator
Here is the call graph for this function:

Member Data Documentation

◆ tempOutput

G4CollisionOutput G4CascadeDeexcitation::tempOutput
private

Definition at line 65 of file G4CascadeDeexcitation.hh.

◆ theBigBanger

G4BigBanger* G4CascadeDeexcitation::theBigBanger
private

Definition at line 61 of file G4CascadeDeexcitation.hh.

◆ theEquilibriumEvaporator

G4EquilibriumEvaporator* G4CascadeDeexcitation::theEquilibriumEvaporator
private

Definition at line 63 of file G4CascadeDeexcitation.hh.

◆ theNonEquilibriumEvaporator

G4NonEquilibriumEvaporator* G4CascadeDeexcitation::theNonEquilibriumEvaporator
private

Definition at line 62 of file G4CascadeDeexcitation.hh.


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