Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4AblaDeexcitation Class Reference

#include <G4AblaDeexcitation.hh>

+ Inheritance diagram for G4AblaDeexcitation:

Public Member Functions

 G4AblaDeexcitation ()
 
 ~G4AblaDeexcitation () override
 
void setVerboseLevel (G4int verbose) override
 
void deExcite (const G4Fragment &fragment, G4CollisionOutput &globalOutput) override
 
 G4AblaDeexcitation (const G4AblaDeexcitation &)=delete
 
G4AblaDeexcitationoperator= (const G4AblaDeexcitation &)=delete
 
- 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 ()
 

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 45 of file G4AblaDeexcitation.hh.

Constructor & Destructor Documentation

◆ G4AblaDeexcitation() [1/2]

G4AblaDeexcitation::G4AblaDeexcitation ( )

Definition at line 35 of file G4AblaDeexcitation.cc.

36 : G4CascadeDeexciteBase( "G4AblaDeexcitation" ), theDeExcitation( nullptr ) {
37 // Access common instance of Abla instead of creating new one
39 // If not found, or cast fails, create a local instance
40 theDeExcitation = static_cast< G4AblaInterface* >( p );
41 if ( theDeExcitation == nullptr ) theDeExcitation = new G4AblaInterface;
42}
G4CascadeDeexciteBase(const char *name)
G4HadronicInteraction * FindModel(const G4String &name)
static G4HadronicInteractionRegistry * Instance()

◆ ~G4AblaDeexcitation()

G4AblaDeexcitation::~G4AblaDeexcitation ( )
overridedefault

◆ G4AblaDeexcitation() [2/2]

G4AblaDeexcitation::G4AblaDeexcitation ( const G4AblaDeexcitation & )
delete

Member Function Documentation

◆ deExcite()

void G4AblaDeexcitation::deExcite ( const G4Fragment & fragment,
G4CollisionOutput & globalOutput )
overridevirtual

Implements G4VCascadeDeexcitation.

Definition at line 54 of file G4AblaDeexcitation.cc.

54 {
55 if ( verboseLevel ) G4cout << " >>> G4AblaDeexcitation::deExcite" << G4endl;
56 if ( verboseLevel > 1 ) G4cout << fragment << G4endl;
57 G4Fragment originalFragment( fragment );
58 G4ReactionProductVector* ablaProducts = theDeExcitation->DeExcite( originalFragment );
59 // Transfer output of de-excitation back into Bertini objects
60 if ( ablaProducts ) {
61 if ( verboseLevel > 1 ) {
62 G4cout << " Got " << ablaProducts->size() << " secondaries back from Abla:" << G4endl;
63 }
64 globalOutput.setVerboseLevel( verboseLevel );
65 globalOutput.addOutgoingParticles( ablaProducts );
66 globalOutput.setVerboseLevel( 0 );
67 for ( size_t i = 0; i < ablaProducts->size(); ++i ) {
68 delete (*ablaProducts)[ i ];
69 }
70 ablaProducts->clear();
71 delete ablaProducts;
72 }
73}
std::vector< G4ReactionProduct * > G4ReactionProductVector
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
void setVerboseLevel(G4int verbose)
void addOutgoingParticles(const std::vector< G4InuclElementaryParticle > &particles)
virtual G4ReactionProductVector * DeExcite(G4Fragment &aFragment)=0

◆ operator=()

G4AblaDeexcitation & G4AblaDeexcitation::operator= ( const G4AblaDeexcitation & )
delete

◆ setVerboseLevel()

void G4AblaDeexcitation::setVerboseLevel ( G4int verbose)
overridevirtual

Reimplemented from G4CascadeDeexciteBase.

Definition at line 48 of file G4AblaDeexcitation.cc.

48 {
50 theDeExcitation->SetVerboseLevel( verbose );
51}
virtual void setVerboseLevel(G4int verbose=0)
void SetVerboseLevel(G4int value)

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