Geant4  10.02.p02
G4CascadeCoalescence Class Reference

#include <G4CascadeCoalescence.hh>

+ Collaboration diagram for G4CascadeCoalescence:

Public Member Functions

 G4CascadeCoalescence (G4int verbose=0)
 
virtual ~G4CascadeCoalescence ()
 
void FindClusters (G4CollisionOutput &finalState)
 
void setVerboseLevel (G4int verbose)
 

Private Types

typedef std::vector< size_t > ClusterCandidate
 

Private Member Functions

void selectCandidates ()
 
void createNuclei ()
 
void removeNucleons ()
 
void tryClusters (size_t idx1, size_t idx2)
 
void tryClusters (size_t idx1, size_t idx2, size_t idx3)
 
void tryClusters (size_t idx1, size_t idx2, size_t idx3, size_t idx4)
 
void fillCluster (size_t idx1, size_t idx2)
 
void fillCluster (size_t idx1, size_t idx2, size_t idx3)
 
void fillCluster (size_t idx1, size_t idx2, size_t idx3, size_t idx4)
 
size_t clusterHash (const ClusterCandidate &clus) const
 
bool clusterTried (const ClusterCandidate &clus) const
 
bool nucleonUsed (size_t idx) const
 
bool allNucleons (const ClusterCandidate &clus) const
 
bool goodCluster (const ClusterCandidate &clus) const
 
G4int clusterType (const ClusterCandidate &aCluster) const
 
const G4InuclElementaryParticlegetHadron (size_t idx) const
 
bool makeLightIon (const ClusterCandidate &aCluster)
 
G4LorentzVector getClusterMomentum (const ClusterCandidate &aCluster) const
 
G4double maxDeltaP (const ClusterCandidate &aCluster) const
 
void reportArgs (const G4String &name, const ClusterCandidate &clus) const
 
void reportResult (const G4String &name, const G4InuclNuclei &nucl) const
 

Private Attributes

G4int verboseLevel
 
std::vector< ClusterCandidateallClusters
 
std::set< size_t > triedClusters
 
std::set< size_t > usedNucleons
 
G4CollisionOutputthisFinalState
 
const std::vector
< G4InuclElementaryParticle > * 
thisHadrons
 
ClusterCandidate thisCluster
 
G4InuclNuclei thisLightIon
 
const G4double dpMaxDoublet
 
const G4double dpMaxTriplet
 
const G4double dpMaxAlpha
 
G4LorentzVector pCluster
 

Detailed Description

Definition at line 51 of file G4CascadeCoalescence.hh.

Member Typedef Documentation

typedef std::vector<size_t> G4CascadeCoalescence::ClusterCandidate
private

Definition at line 62 of file G4CascadeCoalescence.hh.

Constructor & Destructor Documentation

G4CascadeCoalescence::G4CascadeCoalescence ( G4int  verbose = 0)

Definition at line 70 of file G4CascadeCoalescence.cc.

G4CascadeCoalescence::~G4CascadeCoalescence ( )
virtual

Definition at line 76 of file G4CascadeCoalescence.cc.

Member Function Documentation

bool G4CascadeCoalescence::allNucleons ( const ClusterCandidate clus) const
private

Definition at line 335 of file G4CascadeCoalescence.cc.

References getHadron(), and G4InuclElementaryParticle::nucleon().

Referenced by goodCluster().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t G4CascadeCoalescence::clusterHash ( const ClusterCandidate clus) const
private

Definition at line 297 of file G4CascadeCoalescence.cc.

References hash().

Referenced by clusterTried(), and tryClusters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool G4CascadeCoalescence::clusterTried ( const ClusterCandidate clus) const
inlineprivate

Definition at line 99 of file G4CascadeCoalescence.hh.

References clusterHash().

Referenced by tryClusters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4CascadeCoalescence::clusterType ( const ClusterCandidate aCluster) const
private

Definition at line 284 of file G4CascadeCoalescence.cc.

References getHadron(), G4InuclElementaryParticle::nucleon(), and G4InuclElementaryParticle::type().

Referenced by goodCluster(), and makeLightIon().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeCoalescence::createNuclei ( )
private

Definition at line 215 of file G4CascadeCoalescence.cc.

References G4CollisionOutput::addOutgoingNucleus(), allClusters, G4cout, G4endl, makeLightIon(), thisFinalState, thisLightIon, usedNucleons, and verboseLevel.

Referenced by FindClusters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeCoalescence::fillCluster ( size_t  idx1,
size_t  idx2 
)
private

Definition at line 309 of file G4CascadeCoalescence.cc.

References thisCluster.

Referenced by tryClusters().

+ Here is the caller graph for this function:

void G4CascadeCoalescence::fillCluster ( size_t  idx1,
size_t  idx2,
size_t  idx3 
)
private

Definition at line 315 of file G4CascadeCoalescence.cc.

References thisCluster.

void G4CascadeCoalescence::fillCluster ( size_t  idx1,
size_t  idx2,
size_t  idx3,
size_t  idx4 
)
private

Definition at line 322 of file G4CascadeCoalescence.cc.

References thisCluster.

void G4CascadeCoalescence::FindClusters ( G4CollisionOutput finalState)

Definition at line 81 of file G4CascadeCoalescence.cc.

References createNuclei(), G4cout, G4endl, G4CollisionOutput::getOutgoingParticles(), G4CollisionOutput::printCollisionOutput(), removeNucleons(), selectCandidates(), thisFinalState, thisHadrons, and verboseLevel.

Referenced by G4IntraNucleiCascader::finishCascade().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4LorentzVector G4CascadeCoalescence::getClusterMomentum ( const ClusterCandidate aCluster) const
private

Definition at line 251 of file G4CascadeCoalescence.cc.

References getHadron(), G4InuclParticle::getMomentum(), and pCluster.

Referenced by makeLightIon(), and maxDeltaP().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4InuclElementaryParticle& G4CascadeCoalescence::getHadron ( size_t  idx) const
inlineprivate

Definition at line 114 of file G4CascadeCoalescence.hh.

Referenced by allNucleons(), clusterType(), getClusterMomentum(), maxDeltaP(), reportArgs(), and selectCandidates().

+ Here is the caller graph for this function:

bool G4CascadeCoalescence::goodCluster ( const ClusterCandidate clus) const
private

Definition at line 345 of file G4CascadeCoalescence.cc.

References allNucleons(), clusterType(), dpMaxAlpha, dpMaxDoublet, dpMaxTriplet, maxDeltaP(), reportArgs(), and verboseLevel.

Referenced by tryClusters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool G4CascadeCoalescence::makeLightIon ( const ClusterCandidate aCluster)
private

Definition at line 367 of file G4CascadeCoalescence.cc.

References A(), G4InuclNuclei::clear(), clusterType(), G4InuclParticle::Coalescence, G4InuclNuclei::fill(), getClusterMomentum(), reportArgs(), reportResult(), thisLightIon, and verboseLevel.

Referenced by createNuclei().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4CascadeCoalescence::maxDeltaP ( const ClusterCandidate aCluster) const
private

Definition at line 262 of file G4CascadeCoalescence.cc.

References G4cout, G4endl, getClusterMomentum(), getHadron(), G4InuclParticle::getMomentum(), reportArgs(), and verboseLevel.

Referenced by goodCluster().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool G4CascadeCoalescence::nucleonUsed ( size_t  idx) const
inlineprivate

Definition at line 104 of file G4CascadeCoalescence.hh.

Referenced by tryClusters().

+ Here is the caller graph for this function:

void G4CascadeCoalescence::removeNucleons ( )
private

Definition at line 235 of file G4CascadeCoalescence.cc.

References G4cout, G4endl, G4CollisionOutput::removeOutgoingParticle(), thisFinalState, usedNucleons, and verboseLevel.

Referenced by FindClusters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeCoalescence::reportArgs ( const G4String name,
const ClusterCandidate clus 
) const
private

Definition at line 396 of file G4CascadeCoalescence.cc.

References G4cout, G4endl, getHadron(), and verboseLevel.

Referenced by goodCluster(), makeLightIon(), and maxDeltaP().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeCoalescence::reportResult ( const G4String name,
const G4InuclNuclei nucl 
) const
private

Definition at line 409 of file G4CascadeCoalescence.cc.

References G4cout, and G4endl.

Referenced by makeLightIon().

+ Here is the caller graph for this function:

void G4CascadeCoalescence::selectCandidates ( )
private

Definition at line 100 of file G4CascadeCoalescence.cc.

References allClusters, G4cout, G4endl, getHadron(), G4InuclParticleNames::nucleon(), thisHadrons, triedClusters, tryClusters(), usedNucleons, and verboseLevel.

Referenced by FindClusters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeCoalescence::setVerboseLevel ( G4int  verbose)
inline

Definition at line 59 of file G4CascadeCoalescence.hh.

References verboseLevel.

Referenced by G4IntraNucleiCascader::finishCascade(), and G4IntraNucleiCascader::setVerboseLevel().

+ Here is the caller graph for this function:

void G4CascadeCoalescence::tryClusters ( size_t  idx1,
size_t  idx2 
)
private

Definition at line 192 of file G4CascadeCoalescence.cc.

References allClusters, clusterHash(), clusterTried(), fillCluster(), G4cout, G4endl, goodCluster(), nucleonUsed(), thisCluster, triedClusters, usedNucleons, and verboseLevel.

Referenced by selectCandidates(), and tryClusters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeCoalescence::tryClusters ( size_t  idx1,
size_t  idx2,
size_t  idx3 
)
private

Definition at line 165 of file G4CascadeCoalescence.cc.

References allClusters, clusterHash(), clusterTried(), fillCluster(), G4cout, G4endl, goodCluster(), nucleonUsed(), thisCluster, triedClusters, tryClusters(), usedNucleons, and verboseLevel.

+ Here is the call graph for this function:

void G4CascadeCoalescence::tryClusters ( size_t  idx1,
size_t  idx2,
size_t  idx3,
size_t  idx4 
)
private

Definition at line 135 of file G4CascadeCoalescence.cc.

References allClusters, clusterHash(), clusterTried(), fillCluster(), G4cout, G4endl, goodCluster(), nucleonUsed(), thisCluster, triedClusters, tryClusters(), usedNucleons, and verboseLevel.

+ Here is the call graph for this function:

Member Data Documentation

std::vector<ClusterCandidate> G4CascadeCoalescence::allClusters
private

Definition at line 66 of file G4CascadeCoalescence.hh.

Referenced by createNuclei(), selectCandidates(), and tryClusters().

const G4double G4CascadeCoalescence::dpMaxAlpha
private

Definition at line 78 of file G4CascadeCoalescence.hh.

Referenced by goodCluster().

const G4double G4CascadeCoalescence::dpMaxDoublet
private

Definition at line 76 of file G4CascadeCoalescence.hh.

Referenced by goodCluster().

const G4double G4CascadeCoalescence::dpMaxTriplet
private

Definition at line 77 of file G4CascadeCoalescence.hh.

Referenced by goodCluster().

G4LorentzVector G4CascadeCoalescence::pCluster
mutableprivate

Definition at line 123 of file G4CascadeCoalescence.hh.

Referenced by getClusterMomentum().

ClusterCandidate G4CascadeCoalescence::thisCluster
private

Definition at line 73 of file G4CascadeCoalescence.hh.

Referenced by fillCluster(), and tryClusters().

G4CollisionOutput* G4CascadeCoalescence::thisFinalState
private

Definition at line 70 of file G4CascadeCoalescence.hh.

Referenced by createNuclei(), FindClusters(), and removeNucleons().

const std::vector<G4InuclElementaryParticle>* G4CascadeCoalescence::thisHadrons
private

Definition at line 71 of file G4CascadeCoalescence.hh.

Referenced by FindClusters(), and selectCandidates().

G4InuclNuclei G4CascadeCoalescence::thisLightIon
private

Definition at line 74 of file G4CascadeCoalescence.hh.

Referenced by createNuclei(), and makeLightIon().

std::set<size_t> G4CascadeCoalescence::triedClusters
private

Definition at line 67 of file G4CascadeCoalescence.hh.

Referenced by selectCandidates(), and tryClusters().

std::set<size_t> G4CascadeCoalescence::usedNucleons
private

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