Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4INCL::ClusterDecay Namespace Reference

Namespace for functions that handle decay of unstable clusters. More...

Enumerations

enum  ClusterDecayType {
  StableCluster , NeutronDecay , ProtonDecay , AlphaDecay ,
  TwoProtonDecay , TwoNeutronDecay , ProtonUnbound , NeutronUnbound ,
  LambdaUnbound , LambdaDecay
}
 

Functions

G4bool isStable (Cluster const *const c)
 True if the cluster is stable.
 
ParticleList decay (Cluster *const c)
 Carries out a cluster decay.
 

Variables

G4ThreadLocal ClusterDecayType clusterDecayMode [ParticleTable::clusterTableSSize][ParticleTable::clusterTableZSize][ParticleTable::clusterTableASize]
 Table for cluster decays.
 

Detailed Description

Namespace for functions that handle decay of unstable clusters.

Enumeration Type Documentation

◆ ClusterDecayType

Enumerator
StableCluster 
NeutronDecay 
ProtonDecay 
AlphaDecay 
TwoProtonDecay 
TwoNeutronDecay 
ProtonUnbound 
NeutronUnbound 
LambdaUnbound 
LambdaDecay 

Definition at line 66 of file G4INCLClusterDecay.hh.

Function Documentation

◆ decay()

ParticleList G4INCL::ClusterDecay::decay ( Cluster *const  c)

Carries out a cluster decay.

Parameters
ccluster that should decay
Returns
list of decay products

Definition at line 637 of file G4INCLClusterDecay.cc.

637 {
638 ParticleList decayProducts;
639 recursiveDecay(c, &decayProducts);
640
641 for(ParticleIter i = decayProducts.begin(), e =decayProducts.end(); i!=e; i++) (*i)->setBiasCollisionVector(c->getBiasCollisionVector());
642
643 // Correctly update the particle type
644 if(c->getA()==1) {
645// assert(c->getZ()==1 || c->getZ()==0);
646 if(c->getZ()==1)
647 c->setType(Proton);
648 else if(c->getS()==-1)
649 c->setType(Lambda);
650 else
651 c->setType(Neutron);
652 c->setRealMass();
653 }
654
655 return decayProducts;
656 }
G4int getS() const
Returns the strangeness number.
G4int getZ() const
Returns the charge number.
std::vector< G4int > getBiasCollisionVector() const
Get the vector list of biased vertices on the particle path.
void setType(ParticleType t)
void setRealMass()
Set the mass of the Particle to its real mass.
G4int getA() const
Returns the baryon number.
ParticleList::const_iterator ParticleIter

Referenced by G4INCL::Nucleus::decayMe(), and G4INCL::Nucleus::decayOutgoingClusters().

◆ isStable()

G4bool G4INCL::ClusterDecay::isStable ( Cluster const *const  c)

True if the cluster is stable.

Definition at line 570 of file G4INCLClusterDecay.cc.

570 {
571 const G4int Z = c->getZ();
572 const G4int A = c->getA();
573 const G4int L = ((-1)*c->getS());
574 return (clusterDecayMode[L][Z][A]==StableCluster);
575 }
int G4int
Definition: G4Types.hh:85
const G4int Z[17]
const G4double A[17]

Variable Documentation

◆ clusterDecayMode

G4ThreadLocal ClusterDecayType G4INCL::ClusterDecay::clusterDecayMode

Table for cluster decays.

Definition of "Stable": halflife > 1 ms

These table includes decay data for clusters that INCL presently does not produce. It can't hurt.

Unphysical nuclides (A<Z) are marked as stable, but should never be produced by INCL. If you find them in the output, something is fishy.

Definition of "Stable": halflife > 1 ms

These table includes decay data for clusters that INCL presently does not produce. It can't hurt.

Unphysical nuclides (A<Z) are marked as stable, but should never be produced by INCL. If you find them in the output, something is fishy.

Definition at line 587 of file G4INCLClusterDecay.cc.

Referenced by isStable().