Geant4-11
|
#include <G4INCLDecayAvatar.hh>
Public Member Functions | |
DecayAvatar (G4INCL::Particle *aParticle, G4double time, G4INCL::Nucleus *aNucleus, G4bool force=false) | |
DecayAvatar (G4INCL::Particle *aParticle, G4INCL::Particle *bParticle, G4double time, G4INCL::Nucleus *aNucleus, G4bool force=false) | |
std::string | dump () const |
void | fillFinalState (FinalState *fs) |
IChannel * | getChannel () |
FinalState * | getFinalState () |
long | getID () const |
ParticleList | getParticles () const |
G4double | getTime () const |
AvatarType | getType () const |
G4bool | isACollision () const |
G4bool | isADecay () const |
virtual void | postInteraction (FinalState *fs) |
virtual void | preInteraction () |
void | setType (AvatarType t) |
std::string | toString () |
virtual | ~DecayAvatar () |
Static Public Member Functions | |
static void | deleteBackupParticles () |
Release the memory allocated for the backup particles. More... | |
Static Public Attributes | |
static const G4double | locEAccuracy = 1.E-4 |
Target accuracy in the determination of the local-energy Q-value. More... | |
static const G4int | maxIterLocE = 50 |
Max number of iterations for the determination of the local-energy Q-value. More... | |
Protected Member Functions | |
G4bool | bringParticleInside (Particle *const p) |
G4bool | enforceEnergyConservation (FinalState *const fs) |
Enforce energy conservation. More... | |
void | preInteractionBlocking () |
Store the state of the particles before the interaction. More... | |
void | preInteractionLocalEnergy (Particle *const p) |
Apply local-energy transformation, if appropriate. More... | |
void | restoreParticles () const |
Restore the state of both particles. More... | |
G4bool | shouldUseLocalEnergy () const |
true if the given avatar should use local energy More... | |
Static Protected Attributes | |
static G4ThreadLocal Particle * | backupParticle1 = NULL |
static G4ThreadLocal Particle * | backupParticle2 = NULL |
Private Attributes | |
G4bool | forced |
long | ID |
ThreeVector const | incidentDirection |
AvatarType | type |
RootFunctor * | violationEFunctor |
Static Private Attributes | |
static G4ThreadLocal long | nextID = 1 |
Decay avatar
The reflection avatar is created when a particle reaches the boundary of the nucleus. At this point it can either be reflected from the boundary or exit the nucleus.
Definition at line 55 of file G4INCLDecayAvatar.hh.
G4INCL::DecayAvatar::DecayAvatar | ( | G4INCL::Particle * | aParticle, |
G4double | time, | ||
G4INCL::Nucleus * | aNucleus, | ||
G4bool | force = false |
||
) |
Definition at line 52 of file G4INCLDecayAvatar.cc.
References G4INCL::DecayAvatarType, and G4INCL::IAvatar::setType().
G4INCL::DecayAvatar::DecayAvatar | ( | G4INCL::Particle * | aParticle, |
G4INCL::Particle * | bParticle, | ||
G4double | time, | ||
G4INCL::Nucleus * | aNucleus, | ||
G4bool | force = false |
||
) |
Definition at line 59 of file G4INCLDecayAvatar.cc.
References G4INCL::DecayAvatarType, and G4INCL::IAvatar::setType().
|
virtual |
Definition at line 66 of file G4INCLDecayAvatar.cc.
Definition at line 137 of file G4INCLInteractionAvatar.cc.
References G4INCL::Particle::getPosition(), G4INCL::Nucleus::getSurfaceRadius(), INCL_DEBUG, G4INCL::ThreeVector::mag(), G4INCL::RootFinder::anonymous_namespace{G4INCLRootFinder.cc}::maxIterations, pos, G4INCL::Particle::rpCorrelate(), G4INCL::Particle::setPosition(), and G4INCL::InteractionAvatar::theNucleus.
Referenced by G4INCL::InteractionAvatar::postInteraction().
|
staticinherited |
Release the memory allocated for the backup particles.
Definition at line 87 of file G4INCLInteractionAvatar.cc.
References G4INCL::InteractionAvatar::backupParticle1, and G4INCL::InteractionAvatar::backupParticle2.
Referenced by G4INCL::INCL::~INCL().
|
virtual |
Implements G4INCL::IAvatar.
Definition at line 207 of file G4INCLDecayAvatar.cc.
References G4INCL::Particle::dump(), G4INCL::InteractionAvatar::particle1, and G4INCL::IAvatar::theTime.
|
protectedinherited |
Enforce energy conservation.
Final states generated by the channels might violate energy conservation because of different reasons (energy-dependent potentials, local energy...). This conservation law must therefore be enforced by hand. We do so by rescaling the momenta of the final-state particles in the CM frame. If this turns out to be impossible, this method returns false.
Definition at line 359 of file G4INCLInteractionAvatar.cc.
References G4INCL::InteractionAvatar::boostVector, G4INCL::Store::getBook(), G4INCL::Particle::getMass(), G4INCL::Nucleus::getStore(), G4INCL::FinalState::getTotalEnergyBeforeInteraction(), INCL_DEBUG, G4INCL::Book::incrementEnergyViolationInteraction(), G4INCL::ParticleTable::minDeltaMass, G4INCL::InteractionAvatar::modified, G4INCL::InteractionAvatar::modifiedAndCreated, G4INCL::InteractionAvatar::shouldUseLocalEnergy(), G4INCL::RootFinder::solve(), G4INCL::RootFinder::Solution::success, G4INCL::InteractionAvatar::theNucleus, G4INCL::InteractionAvatar::violationEFunctor, and G4INCL::RootFinder::Solution::x.
Referenced by G4INCL::InteractionAvatar::postInteraction(), and postInteraction().
void G4INCL::DecayAvatar::fillFinalState | ( | FinalState * | fs | ) |
|
virtual |
Implements G4INCL::InteractionAvatar.
Definition at line 70 of file G4INCLDecayAvatar.cc.
References G4INCL::Particle::getType(), incidentDirection, INCL_DEBUG, G4INCL::Particle::isAntiKaon(), G4INCL::Particle::isDelta(), G4INCL::Particle::isEta(), G4INCL::Particle::isNucleon(), G4INCL::Particle::isOmega(), G4INCL::Particle::isSigma(), G4INCL::KZero, G4INCL::KZeroBar, G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, and G4INCL::SigmaZero.
|
inherited |
Definition at line 90 of file G4INCLIAvatar.cc.
References G4INCL::IAvatar::fillFinalState().
Referenced by G4INCL::INCL::makeCompoundNucleus().
|
inlineinherited |
Definition at line 94 of file G4INCLIAvatar.hh.
Referenced by G4INCL::CascadeAction::afterAvatarDefaultAction(), G4INCL::CascadeAction::beforeAvatarDefaultAction(), and G4INCL::IAvatar::toString().
|
inlinevirtual |
Implements G4INCL::IAvatar.
Definition at line 67 of file G4INCLDecayAvatar.hh.
References G4INCL::InteractionAvatar::particle1.
|
inlineinherited |
Definition at line 84 of file G4INCLIAvatar.hh.
Referenced by G4INCL::AvatarDumpAction::afterAvatarUserAction(), G4INCL::Store::avatarComparisonPredicate(), G4INCL::StandardPropagationModel::propagate(), and G4INCL::IAvatar::toString().
|
inlineinherited |
Definition at line 90 of file G4INCLIAvatar.hh.
Referenced by G4INCL::AvatarDumpAction::afterAvatarUserAction(), G4INCL::CascadeAction::beforeAvatarDefaultAction(), G4INCL::InteractionAvatar::shouldUseLocalEnergy(), and G4INCL::IAvatar::toString().
|
inlineinherited |
Definition at line 91 of file G4INCLIAvatar.hh.
References G4INCL::CollisionAvatarType.
Referenced by G4INCL::CascadeAction::afterAvatarDefaultAction().
|
inlineinherited |
Definition at line 92 of file G4INCLIAvatar.hh.
References G4INCL::DecayAvatarType.
Referenced by G4INCL::CascadeAction::afterAvatarDefaultAction().
|
virtual |
Implements G4INCL::IAvatar.
Definition at line 100 of file G4INCLDecayAvatar.cc.
References G4INCL::FinalState::addModifiedParticle(), G4INCL::InteractionAvatar::created, G4INCL::InteractionAvatar::Destroyed, G4INCL::InteractionAvatar::enforceEnergyConservation(), forced, G4INCL::Store::getBook(), G4INCL::FinalState::getCreatedParticles(), G4INCL::FinalState::getDestroyedParticles(), G4INCL::FinalState::getModifiedParticles(), G4INCL::ParticleList::getParticleListBiasVector(), G4INCL::Nucleus::getStore(), G4INCL::FinalState::getValidity(), INCL_DEBUG, G4INCL::Book::incrementAcceptedDecays(), G4INCL::Book::incrementBlockedDecays(), G4INCL::Pauli::isCDPPBlocked(), G4INCL::FinalState::makeNoEnergyConservation(), G4INCL::FinalState::makePauliBlocked(), G4INCL::InteractionAvatar::modified, G4INCL::InteractionAvatar::modifiedAndCreated, G4INCL::InteractionAvatar::ModifiedAndDestroyed, G4INCL::NoEnergyConservationFS, G4INCL::InteractionAvatar::oldTotalEnergy, G4INCL::InteractionAvatar::particle1, G4INCL::ParticleBelowFermiFS, G4INCL::ParticleBelowZeroFS, G4INCL::PauliBlockedFS, G4INCL::InteractionAvatar::postInteraction(), G4INCL::FinalState::reset(), G4INCL::InteractionAvatar::restoreParticles(), G4INCL::FinalState::setTotalEnergyBeforeInteraction(), G4INCL::InteractionAvatar::theNucleus, and G4INCL::ValidFS.
|
virtual |
Implements G4INCL::IAvatar.
Definition at line 96 of file G4INCLDecayAvatar.cc.
References G4INCL::InteractionAvatar::preInteraction().
|
protectedinherited |
Store the state of the particles before the interaction.
If the interaction cannot be realised for any reason, we will need to restore the particle state as it was before. This is done by calling the restoreParticles() method.
Definition at line 95 of file G4INCLInteractionAvatar.cc.
References G4INCL::InteractionAvatar::backupParticle1, G4INCL::InteractionAvatar::backupParticle2, G4INCL::Particle::getEnergy(), G4INCL::Particle::getPotentialEnergy(), G4INCL::InteractionAvatar::oldTotalEnergy, G4INCL::InteractionAvatar::oldXSec, G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, and G4INCL::CrossSections::total().
Referenced by G4INCL::InteractionAvatar::preInteraction().
|
protectedinherited |
Apply local-energy transformation, if appropriate.
p | particle to apply the transformation to |
Definition at line 115 of file G4INCLInteractionAvatar.cc.
References G4INCL::Particle::isMeson(), G4INCL::InteractionAvatar::shouldUseLocalEnergy(), G4INCL::InteractionAvatar::theNucleus, and G4INCL::KinematicsUtils::transformToLocalEnergyFrame().
Referenced by G4INCL::InteractionAvatar::preInteraction().
|
protectedinherited |
Restore the state of both particles.
The state must first be stored by calling preInteractionBlocking().
Definition at line 340 of file G4INCLInteractionAvatar.cc.
References G4INCL::InteractionAvatar::particle2.
Referenced by G4INCL::BinaryCollisionAvatar::getChannel(), G4INCL::InteractionAvatar::postInteraction(), and postInteraction().
|
inlineinherited |
Definition at line 93 of file G4INCLIAvatar.hh.
Referenced by G4INCL::BinaryCollisionAvatar::BinaryCollisionAvatar(), DecayAvatar(), G4INCL::ParticleEntryAvatar::ParticleEntryAvatar(), and G4INCL::SurfaceAvatar::SurfaceAvatar().
|
protectedinherited |
true if the given avatar should use local energy
Definition at line 346 of file G4INCLInteractionAvatar.cc.
References G4INCL::AlwaysLocalEnergy, G4INCL::DecayAvatarType, G4INCL::FirstCollisionLocalEnergy, G4INCL::Book::getAcceptedCollisions(), G4INCL::Store::getBook(), G4INCL::Store::getConfig(), G4INCL::Config::getLocalEnergyBBType(), G4INCL::Config::getLocalEnergyPiType(), G4INCL::Nucleus::getStore(), G4INCL::IAvatar::getType(), G4INCL::InteractionAvatar::isPiN, and G4INCL::InteractionAvatar::theNucleus.
Referenced by G4INCL::InteractionAvatar::enforceEnergyConservation(), G4INCL::InteractionAvatar::preInteractionLocalEnergy(), G4INCL::InteractionAvatar::ViolationEMomentumFunctor::scaleParticleMomenta(), and G4INCL::InteractionAvatar::ViolationEEnergyFunctor::setParticleEnergy().
|
inherited |
Definition at line 73 of file G4INCLIAvatar.cc.
References G4INCL::IAvatar::getID(), G4INCL::IAvatar::getParticles(), G4INCL::IAvatar::getTime(), G4INCL::IAvatar::getType(), and numberOfParticles.
|
staticprotectedinherited |
Definition at line 108 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::deleteBackupParticles(), G4INCL::BinaryCollisionAvatar::postInteraction(), and G4INCL::InteractionAvatar::preInteractionBlocking().
|
staticprotectedinherited |
Definition at line 108 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::deleteBackupParticles(), G4INCL::BinaryCollisionAvatar::postInteraction(), and G4INCL::InteractionAvatar::preInteractionBlocking().
|
protectedinherited |
Definition at line 109 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::enforceEnergyConservation(), G4INCL::BinaryCollisionAvatar::getChannel(), G4INCL::InteractionAvatar::postInteraction(), G4INCL::InteractionAvatar::preInteraction(), and G4INCL::InteractionAvatar::ViolationEMomentumFunctor::scaleParticleMomenta().
|
protectedinherited |
Definition at line 223 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::postInteraction(), and postInteraction().
|
protectedinherited |
Definition at line 223 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::postInteraction(), and postInteraction().
|
private |
Definition at line 75 of file G4INCLDecayAvatar.hh.
Referenced by postInteraction().
|
privateinherited |
Definition at line 98 of file G4INCLIAvatar.hh.
Referenced by G4INCL::IAvatar::IAvatar().
|
private |
Definition at line 76 of file G4INCLDecayAvatar.hh.
Referenced by getChannel().
|
protectedinherited |
Definition at line 111 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::BinaryCollisionAvatar::getChannel(), and G4INCL::InteractionAvatar::shouldUseLocalEnergy().
|
staticinherited |
Target accuracy in the determination of the local-energy Q-value.
Definition at line 68 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::ViolationEMomentumFunctor::scaleParticleMomenta(), and G4INCL::InteractionAvatar::ViolationEEnergyFunctor::setParticleEnergy().
|
staticinherited |
Max number of iterations for the determination of the local-energy Q-value.
Definition at line 70 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::ViolationEMomentumFunctor::scaleParticleMomenta(), and G4INCL::InteractionAvatar::ViolationEEnergyFunctor::setParticleEnergy().
|
protectedinherited |
Definition at line 223 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::enforceEnergyConservation(), G4INCL::InteractionAvatar::postInteraction(), and postInteraction().
|
protectedinherited |
Definition at line 223 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::enforceEnergyConservation(), G4INCL::InteractionAvatar::postInteraction(), and postInteraction().
|
protectedinherited |
Definition at line 223 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::postInteraction(), and postInteraction().
|
staticprivateinherited |
Definition at line 100 of file G4INCLIAvatar.hh.
Referenced by G4INCL::IAvatar::IAvatar().
|
protectedinherited |
Definition at line 110 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::postInteraction(), postInteraction(), and G4INCL::InteractionAvatar::preInteractionBlocking().
|
protectedinherited |
Definition at line 110 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::BinaryCollisionAvatar::postInteraction(), and G4INCL::InteractionAvatar::preInteractionBlocking().
|
protectedinherited |
Definition at line 107 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::BinaryCollisionAvatar::dump(), dump(), G4INCL::BinaryCollisionAvatar::getChannel(), getChannel(), G4INCL::BinaryCollisionAvatar::getParticles(), getParticles(), postInteraction(), G4INCL::BinaryCollisionAvatar::preInteraction(), G4INCL::InteractionAvatar::preInteraction(), and G4INCL::InteractionAvatar::preInteractionBlocking().
|
protectedinherited |
Definition at line 107 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::BinaryCollisionAvatar::dump(), G4INCL::BinaryCollisionAvatar::getChannel(), getChannel(), G4INCL::BinaryCollisionAvatar::getParticles(), G4INCL::BinaryCollisionAvatar::preInteraction(), G4INCL::InteractionAvatar::preInteraction(), G4INCL::InteractionAvatar::preInteractionBlocking(), and G4INCL::InteractionAvatar::restoreParticles().
|
protectedinherited |
Definition at line 106 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::bringParticleInside(), G4INCL::InteractionAvatar::enforceEnergyConservation(), G4INCL::BinaryCollisionAvatar::getChannel(), G4INCL::BinaryCollisionAvatar::postInteraction(), G4INCL::InteractionAvatar::postInteraction(), postInteraction(), G4INCL::InteractionAvatar::preInteractionLocalEnergy(), G4INCL::InteractionAvatar::ViolationEMomentumFunctor::scaleParticleMomenta(), G4INCL::InteractionAvatar::ViolationEEnergyFunctor::setParticleEnergy(), and G4INCL::InteractionAvatar::shouldUseLocalEnergy().
|
protectedinherited |
Definition at line 102 of file G4INCLIAvatar.hh.
Referenced by G4INCL::BinaryCollisionAvatar::dump(), dump(), G4INCL::ParticleEntryAvatar::dump(), and G4INCL::SurfaceAvatar::dump().
|
privateinherited |
Definition at line 99 of file G4INCLIAvatar.hh.
|
privateinherited |
Definition at line 208 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::InteractionAvatar::enforceEnergyConservation().
|
protectedinherited |
Definition at line 112 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::BinaryCollisionAvatar::getChannel(), and G4INCL::InteractionAvatar::postInteraction().