Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Enumerations | Functions | Variables
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
}
 

Functions

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

Variables

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

Detailed Description

Namespace for functions that handle decay of unstable clusters.

Enumeration Type Documentation

Function Documentation

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 551 of file G4INCLClusterDecay.cc.

References G4INCL::Particle::getA(), G4INCL::Particle::getZ(), G4INCL::Neutron, G4INCL::Proton, G4INCL::Particle::setRealMass(), and G4INCL::Particle::setType().

Referenced by G4MolecularDecayTable::CheckDataConsistency(), F05PhysicsList::ConstructProcess(), P6DExtDecayerPhysics::ConstructProcess(), F04PhysicsList::ConstructProcess(), WLSPhysicsList::ConstructProcess(), G4INCL::Nucleus::decayInsideDeltas(), G4INCL::Nucleus::decayMe(), G4INCL::Nucleus::decayOutgoingClusters(), G4INCL::Nucleus::decayOutgoingDeltas(), G4DecayStrongResonances::Propagate(), G4GeneratorPrecompoundInterface::Propagate(), G4BinaryCascade::Propagate(), G4CascadeInterface::Propagate(), and G4GeneratorPrecompoundInterface::PropagateNuclNucl().

551  {
552  ParticleList decayProducts;
553  recursiveDecay(c, &decayProducts);
554 
555  // Correctly update the particle type
556  if(c->getA()==1) {
557 // assert(c->getZ()==1 || c->getZ()==0);
558  if(c->getZ()==1)
559  c->setType(Proton);
560  else
561  c->setType(Neutron);
562  c->setRealMass();
563  }
564 
565  return decayProducts;
566  }
UnorderedVector< Particle * > ParticleList
G4bool G4INCL::ClusterDecay::isStable ( Cluster const *const  c)

True if the cluster is stable.

Definition at line 521 of file G4INCLClusterDecay.cc.

References clusterDecayMode, G4INCL::Particle::getA(), G4INCL::Particle::getZ(), and StableCluster.

521  {
522  const G4int Z = c->getZ();
523  const G4int A = c->getA();
524  return (clusterDecayMode[Z][A]==StableCluster);
525  }
G4ThreadLocal ClusterDecayType clusterDecayMode[ParticleTable::clusterTableZSize][ParticleTable::clusterTableASize]
Table for cluster decays.
int G4int
Definition: G4Types.hh:78

Variable Documentation

G4ThreadLocal ClusterDecayType G4INCL::ClusterDecay::clusterDecayMode
Initial value:
=
{
}

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 at line 537 of file G4INCLClusterDecay.cc.

Referenced by isStable().