Geant4-11
|
#include <G4INCLCascade.hh>
Data Structures | |
class | RecoilCMFunctor |
Class to adjust remnant recoil in the reaction CM system. More... | |
class | RecoilFunctor |
Class to adjust remnant recoil. More... | |
Public Member Functions | |
void | finalizeGlobalInfo (Random::SeedVector const &initialSeeds) |
const GlobalInfo & | getGlobalInfo () const |
INCL (Config const *const config) | |
INCL (const INCL &rhs) | |
Dummy copy constructor to silence Coverity warning. More... | |
G4bool | initializeTarget (const G4int A, const G4int Z, const G4int S) |
INCL & | operator= (const INCL &rhs) |
Dummy assignment operator to silence Coverity warning. More... | |
G4bool | prepareReaction (const ParticleSpecies &projectileSpecies, const G4double kineticEnergy, const G4int A, const G4int Z, const G4int S) |
const EventInfo & | processEvent () |
const EventInfo & | processEvent (ParticleSpecies const &projectileSpecies, const G4double kineticEnergy, const G4int targetA, const G4int targetZ, const G4int targetS) |
~INCL () | |
Private Member Functions | |
void | cascade () |
The actual cascade loop. More... | |
G4bool | continueCascade () |
Stopping criterion for the cascade. More... | |
void | initMaxInteractionDistance (ParticleSpecies const &p, const G4double kineticEnergy) |
Initialise the maximum interaction distance. More... | |
void | initUniverseRadius (ParticleSpecies const &p, const G4double kineticEnergy, const G4int A, const G4int Z) |
Initialize the universe radius. More... | |
void | makeCompoundNucleus () |
Make a compound nucleus. More... | |
G4int | makeProjectileRemnant () |
Make a projectile pre-fragment out of geometrical spectators. More... | |
void | postCascade () |
Finalise the cascade and clean up. More... | |
G4bool | preCascade (ParticleSpecies const &projectileSpecies, const G4double kineticEnergy) |
Initialise the cascade. More... | |
void | rescaleOutgoingForRecoil () |
Rescale the energies of the outgoing particles. More... | |
void | updateGlobalInfo () |
Update global counters and other members of theGlobalInfo object. More... | |
Private Attributes | |
CascadeAction * | cascadeAction |
G4double | fixedImpactParameter |
G4bool | forceTransparent |
G4double | maxImpactParameter |
G4double | maxInteractionDistance |
G4double | maxUniverseRadius |
G4int | minRemnantSize |
Remnant size below which cascade stops. More... | |
Nucleus * | nucleus |
IPropagationModel * | propagationModel |
G4bool | targetInitSuccess |
G4int | theA |
Config const *const | theConfig |
EventInfo | theEventInfo |
GlobalInfo | theGlobalInfo |
G4int | theS |
G4int | theZ |
Definition at line 52 of file G4INCLCascade.hh.
G4INCL::INCL::INCL | ( | Config const *const | config | ) |
Definition at line 79 of file G4INCLCascade.cc.
References G4INCL::GlobalInfo::Ap, G4INCL::GlobalInfo::At, G4INCL::AvatarDumpActionType, G4INCL::CascadeAction::beforeRunAction(), G4INCL::GlobalInfo::biasFactor, cascadeAction, G4INCL::GlobalInfo::cascadeModel, G4INCL::GlobalInfo::deexcitationModel, G4INCL::GlobalInfo::Ep, fixedImpactParameter, G4INCL::Config::getBias(), G4INCL::Config::getCascadeActionType(), G4INCL::Config::getCutNN(), G4INCL::Config::getDeExcitationString(), G4INCL::Config::getHadronizationTime(), G4INCL::Config::getImpactParameter(), G4INCL::Config::getLocalEnergyBBType(), G4INCL::Config::getLocalEnergyPiType(), G4INCL::Config::getProjectileKineticEnergy(), G4INCL::Config::getProjectileSpecies(), G4INCL::Config::getTargetA(), G4INCL::Config::getTargetS(), G4INCL::Config::getTargetZ(), G4INCL::Config::getVersionString(), G4INCL::Pauli::initialize(), G4INCL::Clustering::initialize(), G4INCL::CoulombDistortion::initialize(), G4INCL::CrossSections::initialize(), G4INCL::PhaseSpaceGenerator::initialize(), G4INCL::ParticleTable::initialize(), G4INCL::Random::initialize(), G4INCL::Logger::initVerbosityLevelFromEnvvar(), propagationModel, G4INCL::BinaryCollisionAvatar::setBias(), G4INCL::BinaryCollisionAvatar::setCutNN(), G4INCL::GlobalInfo::Sp, G4INCL::GlobalInfo::St, G4INCL::ParticleSpecies::theA, theConfig, theGlobalInfo, G4INCL::ParticleSpecies::theS, G4INCL::ParticleSpecies::theZ, G4INCL::GlobalInfo::Zp, and G4INCL::GlobalInfo::Zt.
G4INCL::INCL::~INCL | ( | ) |
Definition at line 163 of file G4INCLCascade.cc.
References G4INCL::CascadeAction::afterRunAction(), cascadeAction, G4INCL::NuclearPotential::clearCache(), G4INCL::NuclearDensityFactory::clearCache(), G4INCL::InteractionAvatar::deleteBackupParticles(), G4INCL::Pauli::deleteBlockers(), G4INCL::Clustering::deleteClusteringModel(), G4INCL::CoulombDistortion::deleteCoulomb(), G4INCL::CrossSections::deleteCrossSections(), G4INCL::Random::deleteGenerator(), G4INCL::PhaseSpaceGenerator::deletePhaseSpaceGenerator(), propagationModel, and theConfig.
G4INCL::INCL::INCL | ( | const INCL & | rhs | ) |
Dummy copy constructor to silence Coverity warning.
|
private |
The actual cascade loop.
Definition at line 331 of file G4INCLCascade.cc.
References G4INCL::CascadeAction::afterAvatarAction(), G4INCL::CascadeAction::afterPropagationAction(), G4INCL::Nucleus::applyFinalState(), G4INCL::CascadeAction::beforeAvatarAction(), G4INCL::CascadeAction::beforePropagationAction(), cascadeAction, continueCascade(), G4INCL::IAvatar::fillFinalState(), nucleus, G4INCL::IPropagationModel::propagate(), propagationModel, and G4INCL::FinalState::reset().
Referenced by processEvent().
|
private |
Stopping criterion for the cascade.
Returns true if the cascade should continue, and false if any of the stopping criteria is satisfied.
Definition at line 713 of file G4INCLCascade.cc.
References G4INCL::Particle::getA(), G4INCL::Store::getBook(), G4INCL::Book::getCascading(), G4INCL::IPropagationModel::getCurrentTime(), G4INCL::Store::getIncomingParticles(), G4INCL::IPropagationModel::getStoppingTime(), G4INCL::Nucleus::getStore(), G4INCL::Nucleus::getTryCompoundNucleus(), INCL_DEBUG, minRemnantSize, nucleus, and propagationModel.
Referenced by cascade().
void G4INCL::INCL::finalizeGlobalInfo | ( | Random::SeedVector const & | initialSeeds | ) |
Definition at line 744 of file G4INCLCascade.cc.
References G4INCL::GlobalInfo::completeFusionCrossSection, G4INCL::GlobalInfo::energyViolationInteractionCrossSection, G4INCL::GlobalInfo::errorCompleteFusionCrossSection, G4INCL::GlobalInfo::errorForcedCNCrossSection, G4INCL::GlobalInfo::errorReactionCrossSection, G4INCL::GlobalInfo::finalRandomSeeds, G4INCL::GlobalInfo::forcedCNCrossSection, G4INCL::GlobalInfo::geometricCrossSection, G4INCL::Random::getSeeds(), G4INCL::GlobalInfo::initialRandomSeeds, G4INCL::GlobalInfo::nCompleteFusion, G4INCL::GlobalInfo::nEnergyViolationInteraction, G4INCL::GlobalInfo::nForcedCompoundNucleus, G4INCL::GlobalInfo::nNucleonAbsorptions, G4INCL::GlobalInfo::nPionAbsorptions, G4INCL::GlobalInfo::nShots, G4INCL::GlobalInfo::nTransparents, G4INCL::GlobalInfo::nucleonAbsorptionCrossSection, G4INCL::GlobalInfo::pionAbsorptionCrossSection, G4INCL::GlobalInfo::reactionCrossSection, and theGlobalInfo.
|
inline |
Definition at line 233 of file G4INCLCascade.cc.
References A, G4INCL::Store::getBook(), G4INCL::Nucleus::getStore(), G4INCL::Nucleus::initializeParticles(), maxUniverseRadius, nucleus, propagationModel, G4INCL::Book::reset(), S(), G4INCL::IPropagationModel::setNucleus(), theConfig, and Z.
Referenced by prepareReaction().
|
private |
Initialise the maximum interaction distance.
Used in forced CN events.
Definition at line 808 of file G4INCLCascade.cc.
References G4INCL::Composite, G4INCL::ParticleTable::getNuclearRadius(), INCL_DEBUG, G4INCL::CrossSections::interactionDistanceNN(), G4INCL::Math::max(), maxInteractionDistance, G4INCL::Neutron, G4INCL::Proton, theA, G4INCL::ParticleSpecies::theType, and theZ.
Referenced by prepareReaction().
|
private |
Initialize the universe radius.
Used for determining the energy-dependent size of the volume particles live in.
Definition at line 824 of file G4INCLCascade.cc.
References A, G4INCL::Composite, G4INCL::IsotopicDistribution::getIsotopes(), G4INCL::ParticleTable::getMaximumNuclearRadius(), G4INCL::ParticleTable::getNaturalIsotopicDistribution(), INCL_DEBUG, G4INCL::CrossSections::interactionDistanceKbarN(), G4INCL::CrossSections::interactionDistanceKN(), G4INCL::CrossSections::interactionDistanceNN(), G4INCL::CrossSections::interactionDistancePiN(), G4INCL::CrossSections::interactionDistanceYN(), G4INCL::KMinus, G4INCL::KPlus, G4INCL::KZero, G4INCL::KZeroBar, G4INCL::Lambda, G4INCL::Math::max(), maxUniverseRadius, G4INCL::Neutron, G4INCL::PiMinus, G4INCL::PiPlus, G4INCL::PiZero, G4INCL::Proton, G4INCL::SigmaMinus, G4INCL::SigmaPlus, G4INCL::SigmaZero, G4INCL::ParticleSpecies::theType, and Z.
Referenced by prepareReaction().
|
private |
Make a compound nucleus.
Selects the projectile components that can actually enter their potential and puts them into the target nucleus. If the CN excitation energy turns out to be negative, the event is considered a transparent. This method modifies theEventInfo and theGlobalInfo.
Definition at line 503 of file G4INCLCascade.cc.
References G4INCL::Store::addParticleEntryAvatar(), G4INCL::Nucleus::applyFinalState(), G4INCL::EventInfo::At, G4INCL::Store::clearIncoming(), G4INCL::Store::clearOutgoing(), G4INCL::EventInfo::clusterDecay, G4INCL::Nucleus::decayMe(), G4INCL::Nucleus::decayOutgoingClusters(), G4INCL::Nucleus::decayOutgoingDeltas(), G4INCL::Nucleus::decayOutgoingPionResonances(), G4INCL::Nucleus::emitInsideKaon(), G4INCL::EventInfo::emitKaon, G4INCL::Intersection::exists, G4INCL::Nucleus::fillEventInfo(), G4INCL::Nucleus::finalizeProjectileRemnant(), G4INCL::EventInfo::forcedDeltasOutside, G4INCL::EventInfo::forcedPionResonancesOutside, forceTransparent, G4INCL::Random::getAdapter(), G4INCL::Cluster::getAngularMomentum(), G4INCL::IPropagationModel::getCurrentTime(), G4INCL::Config::getDecayTimeThreshold(), G4INCL::IntersectionFactory::getEarlierTrajectoryIntersection(), G4INCL::Particle::getEnergy(), G4INCL::IAvatar::getFinalState(), G4INCL::Nucleus::getIncomingAngularMomentum(), G4INCL::Nucleus::getIncomingMomentum(), G4INCL::Particle::getMomentum(), G4INCL::Cluster::getParticles(), G4INCL::Nucleus::getProjectileRemnant(), G4INCL::Nucleus::getStore(), G4INCL::ParticleTable::getTableMass, G4INCL::FinalState::getValidity(), G4INCL::ThreeVector::getX(), G4INCL::ThreeVector::getY(), G4INCL::ThreeVector::getZ(), INCL_DEBUG, G4INCL::Nucleus::isNucleusNucleusCollision(), G4INCL::ThreeVector::mag2(), maxInteractionDistance, G4INCL::NoEnergyConservationFS, nucleus, G4INCL::ParticleBelowFermiFS, G4INCL::ParticleBelowZeroFS, G4INCL::PauliBlockedFS, propagationModel, G4INCL::ProjectileRemnant::reset(), G4INCL::Cluster::setA(), G4INCL::Particle::setEnergy(), G4INCL::Cluster::setExcitationEnergy(), G4INCL::Particle::setMass(), G4INCL::Particle::setMomentum(), G4INCL::Cluster::setS(), G4INCL::Cluster::setSpin(), G4INCL::Cluster::setZ(), G4INCL::EventInfo::St, theConfig, theEventInfo, G4INCL::ValidFS, and G4INCL::EventInfo::Zt.
Referenced by postCascade().
|
private |
Make a projectile pre-fragment out of geometrical spectators.
The projectile pre-fragment is assigned an excitation energy given by , where is the sum of the energies of the spectator particles, and is the sum of the smallest particle energies initially present in the projectile, being the mass of the projectile pre-fragment. This is equivalent to assuming that the excitation energy is given by the sum of the transitions of all excited projectile components to the "holes" left by the participants.
This method can modify the outgoing list and adds a projectile pre-fragment.
Definition at line 772 of file G4INCLCascade.cc.
References G4INCL::ProjectileRemnant::addAllDynamicalSpectators(), G4INCL::Store::addToOutgoing(), G4INCL::Store::extractDynamicalSpectators(), G4INCL::Nucleus::finalizeProjectileRemnant(), G4INCL::IPropagationModel::getCurrentTime(), G4INCL::Cluster::getParticles(), G4INCL::Nucleus::getProjectileRemnant(), G4INCL::Nucleus::getStore(), nucleus, and propagationModel.
Referenced by postCascade().
Dummy assignment operator to silence Coverity warning.
|
private |
Finalise the cascade and clean up.
Definition at line 377 of file G4INCLCascade.cc.
References G4INCL::EventInfo::absorbedStrangeParticle, G4INCL::EventInfo::antikaonsInside, G4INCL::Store::clearIncoming(), G4INCL::EventInfo::clusterDecay, G4INCL::Nucleus::computeExcitationEnergy(), G4INCL::Nucleus::computeRecoilKinematics(), G4INCL::Nucleus::containsAntiKaon(), G4INCL::Nucleus::containsDeltas(), G4INCL::Nucleus::containsKaon(), G4INCL::Nucleus::containsLambda(), G4INCL::Nucleus::containsSigma(), G4INCL::Nucleus::decayInsideDeltas(), G4INCL::Nucleus::decayInsideStrangeParticles(), G4INCL::Nucleus::decayMe(), G4INCL::Nucleus::decayOutgoingClusters(), G4INCL::Nucleus::decayOutgoingDeltas(), G4INCL::Nucleus::decayOutgoingNeutralKaon(), G4INCL::Nucleus::decayOutgoingPionResonances(), G4INCL::Nucleus::decayOutgoingSigmaZero(), G4INCL::Store::deleteIncoming(), G4INCL::EventInfo::deltasInside, G4INCL::CoulombDistortion::distortOut(), G4INCL::Nucleus::emitInsideKaon(), G4INCL::Nucleus::emitInsideLambda(), G4INCL::Nucleus::emitInsideStrangeParticles(), G4INCL::EventInfo::emitKaon, G4INCL::EventInfo::emitLambda, G4INCL::EventInfo::eventBias, G4INCL::Nucleus::fillEventInfo(), G4INCL::EventInfo::forcedDeltasInside, G4INCL::EventInfo::forcedDeltasOutside, G4INCL::EventInfo::forcedPionResonancesOutside, forceTransparent, G4INCL::Particle::getA(), G4INCL::IPropagationModel::getCurrentTime(), G4INCL::Config::getDecayTimeThreshold(), G4INCL::Nucleus::getExcitationEnergy(), G4INCL::Store::getOutgoingParticles(), G4INCL::Cluster::getParticles(), G4INCL::Nucleus::getProjectileRemnant(), G4INCL::Nucleus::getStore(), G4INCL::Particle::getTotalBias(), G4INCL::Nucleus::getTryCompoundNucleus(), G4INCL::Nucleus::hasRemnant(), INCL_DEBUG, INCL_ERROR, INCL_WARN, G4INCL::Nucleus::isEventTransparent(), G4INCL::EventInfo::kaonsInside, G4INCL::EventInfo::lambdasInside, makeCompoundNucleus(), makeProjectileRemnant(), minRemnantSize, nucleus, G4INCL::EventInfo::nUnmergedSpectators, propagationModel, rescaleOutgoingForRecoil(), G4INCL::Cluster::setExcitationEnergy(), G4INCL::EventInfo::sigmasInside, G4INCL::EventInfo::stoppingTime, theConfig, theEventInfo, G4INCL::EventInfo::transparent, and G4INCL::Nucleus::useFusionKinematics().
Referenced by processEvent().
|
private |
Initialise the cascade.
Definition at line 277 of file G4INCLCascade.cc.
References G4INCL::EventInfo::Ap, G4INCL::EventInfo::At, G4INCL::EventInfo::effectiveImpactParameter, G4INCL::EventInfo::Ep, G4INCL::EventInfo::eventNumber, fixedImpactParameter, G4INCL::Particle::getA(), G4INCL::Particle::getS(), G4INCL::Particle::getZ(), G4INCL::EventInfo::impactParameter, INCL_DEBUG, maxImpactParameter, nucleus, G4INCL::EventInfo::projectileType, propagationModel, G4INCL::EventInfo::reset(), G4INCL::Random::shoot(), G4INCL::IPropagationModel::shoot(), G4INCL::Random::shoot0(), G4INCL::EventInfo::Sp, G4INCL::EventInfo::St, G4INCL::ParticleSpecies::theA, theEventInfo, G4INCL::ParticleSpecies::theS, G4INCL::ParticleSpecies::theType, G4INCL::ParticleSpecies::theZ, G4INCL::EventInfo::transparent, G4INCL::Math::twoPi, G4INCL::EventInfo::Zp, and G4INCL::EventInfo::Zt.
Referenced by processEvent().
G4bool G4INCL::INCL::prepareReaction | ( | const ParticleSpecies & | projectileSpecies, |
const G4double | kineticEnergy, | ||
const G4int | A, | ||
const G4int | Z, | ||
const G4int | S | ||
) |
Definition at line 185 of file G4INCLCascade.cc.
References A, G4INCL::Composite, G4INCL::ParticleTable::drawRandomNaturalIsotope(), forceTransparent, G4INCL::GlobalInfo::geometricCrossSection, INCL_DEBUG, INCL_ERROR, initializeTarget(), initMaxInteractionDistance(), initUniverseRadius(), G4INCL::Config::isNaturalTarget(), maxImpactParameter, G4INCL::CoulombDistortion::maxImpactParameter(), G4INCL::Math::min(), minRemnantSize, nucleus, S(), G4INCL::Math::tenPi, theA, G4INCL::ParticleSpecies::theA, theConfig, theGlobalInfo, theS, G4INCL::ParticleSpecies::theS, G4INCL::ParticleSpecies::theType, theZ, G4INCL::ParticleSpecies::theZ, and Z.
Referenced by processEvent().
|
inline |
Definition at line 66 of file G4INCLCascade.hh.
References G4INCL::Config::getProjectileKineticEnergy(), G4INCL::Config::getProjectileSpecies(), G4INCL::Config::getTargetA(), G4INCL::Config::getTargetS(), G4INCL::Config::getTargetZ(), processEvent(), and theConfig.
Referenced by G4INCLXXInterface::ApplyYourself(), and processEvent().
const EventInfo & G4INCL::INCL::processEvent | ( | ParticleSpecies const & | projectileSpecies, |
const G4double | kineticEnergy, | ||
const G4int | targetA, | ||
const G4int | targetZ, | ||
const G4int | targetS | ||
) |
Definition at line 244 of file G4INCLCascade.cc.
References G4INCL::CascadeAction::afterCascadeAction(), G4INCL::CascadeAction::beforeCascadeAction(), cascade(), cascadeAction, INCL_WARN, G4INCL::Particle::INCLBiasVector, G4INCL::Particle::nextBiasedCollisionID, nucleus, postCascade(), preCascade(), prepareReaction(), propagationModel, targetInitSuccess, theEventInfo, G4INCL::EventInfo::transparent, and updateGlobalInfo().
|
private |
Rescale the energies of the outgoing particles.
Allow for the remnant recoil energy by rescaling the energy (and momenta) of the outgoing particles.
Definition at line 655 of file G4INCLCascade.cc.
References INCL_WARN, nucleus, G4INCL::RootFinder::solve(), G4INCL::RootFinder::Solution::success, theEventInfo, and G4INCL::RootFinder::Solution::x.
Referenced by postCascade().
|
private |
Update global counters and other members of theGlobalInfo object.
Definition at line 868 of file G4INCLCascade.cc.
References forceTransparent, G4INCL::Nucleus::getTryCompoundNucleus(), G4INCL::EventInfo::nCascadeParticles, G4INCL::GlobalInfo::nCompleteFusion, G4INCL::EventInfo::nEnergyViolationInteraction, G4INCL::GlobalInfo::nEnergyViolationInteraction, G4INCL::GlobalInfo::nForcedCompoundNucleus, G4INCL::GlobalInfo::nForcedTransparents, G4INCL::GlobalInfo::nNucleonAbsorptions, G4INCL::GlobalInfo::nPionAbsorptions, G4INCL::GlobalInfo::nShots, G4INCL::GlobalInfo::nTransparents, G4INCL::EventInfo::nucleonAbsorption, nucleus, G4INCL::EventInfo::pionAbsorption, theEventInfo, theGlobalInfo, and G4INCL::EventInfo::transparent.
Referenced by processEvent().
|
private |
Definition at line 95 of file G4INCLCascade.hh.
Referenced by cascade(), INCL(), processEvent(), and ~INCL().
|
private |
Definition at line 94 of file G4INCLCascade.hh.
Referenced by INCL(), and preCascade().
|
private |
Definition at line 98 of file G4INCLCascade.hh.
Referenced by makeCompoundNucleus(), postCascade(), prepareReaction(), and updateGlobalInfo().
|
private |
Definition at line 91 of file G4INCLCascade.hh.
Referenced by preCascade(), and prepareReaction().
|
private |
Definition at line 93 of file G4INCLCascade.hh.
Referenced by initMaxInteractionDistance(), and makeCompoundNucleus().
|
private |
Definition at line 92 of file G4INCLCascade.hh.
Referenced by initializeTarget(), and initUniverseRadius().
|
private |
Remnant size below which cascade stops.
Definition at line 104 of file G4INCLCascade.hh.
Referenced by continueCascade(), postCascade(), and prepareReaction().
|
private |
Definition at line 97 of file G4INCLCascade.hh.
Referenced by cascade(), continueCascade(), initializeTarget(), makeCompoundNucleus(), makeProjectileRemnant(), postCascade(), preCascade(), prepareReaction(), processEvent(), rescaleOutgoingForRecoil(), and updateGlobalInfo().
|
private |
Definition at line 88 of file G4INCLCascade.hh.
Referenced by cascade(), continueCascade(), INCL(), initializeTarget(), makeCompoundNucleus(), makeProjectileRemnant(), postCascade(), preCascade(), processEvent(), and ~INCL().
|
private |
Definition at line 90 of file G4INCLCascade.hh.
Referenced by processEvent().
|
private |
Definition at line 89 of file G4INCLCascade.hh.
Referenced by initMaxInteractionDistance(), and prepareReaction().
|
private |
Definition at line 96 of file G4INCLCascade.hh.
Referenced by INCL(), initializeTarget(), makeCompoundNucleus(), postCascade(), prepareReaction(), processEvent(), and ~INCL().
|
private |
Definition at line 100 of file G4INCLCascade.hh.
Referenced by makeCompoundNucleus(), postCascade(), preCascade(), processEvent(), rescaleOutgoingForRecoil(), and updateGlobalInfo().
|
private |
Definition at line 101 of file G4INCLCascade.hh.
Referenced by finalizeGlobalInfo(), getGlobalInfo(), INCL(), prepareReaction(), and updateGlobalInfo().
|
private |
Definition at line 89 of file G4INCLCascade.hh.
Referenced by prepareReaction().
|
private |
Definition at line 89 of file G4INCLCascade.hh.
Referenced by initMaxInteractionDistance(), and prepareReaction().