Geant4.10
|
#include <G4INCLBinaryCollisionAvatar.hh>
Public Member Functions | |
BinaryCollisionAvatar (G4double, G4double, G4INCL::Nucleus *, G4INCL::Particle *, G4INCL::Particle *) | |
virtual | ~BinaryCollisionAvatar () |
G4INCL::IChannel * | getChannel () |
ParticleList | getParticles () const |
virtual void | preInteraction () |
virtual FinalState * | postInteraction (FinalState *) |
std::string | dump () const |
![]() | |
InteractionAvatar (G4double, G4INCL::Nucleus *, G4INCL::Particle *) | |
InteractionAvatar (G4double, G4INCL::Nucleus *, G4INCL::Particle *, G4INCL::Particle *) | |
virtual | ~InteractionAvatar () |
![]() | |
IAvatar () | |
IAvatar (G4double time) | |
virtual | ~IAvatar () |
G4INCL::FinalState * | getFinalState () |
G4double | getTime () const |
AvatarType | getType () const |
G4bool | isACollision () const |
G4bool | isADecay () const |
void | setType (AvatarType t) |
long | getID () const |
std::string | toString () |
Static Public Member Functions | |
static void | setCutNN (const G4double c) |
static G4double | getCutNN () |
static G4double | getCutNNSquared () |
![]() | |
static void | deleteBackupParticles () |
Release the memory allocated for the backup particles. More... | |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
G4bool | bringParticleInside (Particle *const p) |
void | preInteractionLocalEnergy (Particle *const p) |
Apply local-energy transformation, if appropriate. More... | |
void | preInteractionBlocking () |
Store the state of the particles before the interaction. More... | |
void | preInteraction () |
FinalState * | postInteraction (FinalState *) |
void | restoreParticles () const |
Restore the state of both particles. More... | |
G4bool | shouldUseLocalEnergy () const |
true if the given avatar should use local energy More... | |
G4bool | enforceEnergyConservation (FinalState *const fs) |
Enforce energy conservation. More... | |
![]() | |
Nucleus * | theNucleus |
Particle * | particle1 |
Particle * | particle2 |
ThreeVector | boostVector |
G4double | oldTotalEnergy |
G4double | oldXSec |
G4bool | isPiN |
![]() | |
G4double | theTime |
![]() | |
static G4ThreadLocal Particle * | backupParticle1 = NULL |
static G4ThreadLocal Particle * | backupParticle2 = NULL |
Definition at line 54 of file G4INCLBinaryCollisionAvatar.hh.
G4INCL::BinaryCollisionAvatar::BinaryCollisionAvatar | ( | G4double | time, |
G4double | crossSection, | ||
G4INCL::Nucleus * | n, | ||
G4INCL::Particle * | p1, | ||
G4INCL::Particle * | p2 | ||
) |
Definition at line 68 of file G4INCLBinaryCollisionAvatar.cc.
References G4INCL::CollisionAvatarType, and G4INCL::IAvatar::setType().
|
virtual |
Definition at line 78 of file G4INCLBinaryCollisionAvatar.cc.
|
virtual |
Implements G4INCL::IAvatar.
Definition at line 235 of file G4INCLBinaryCollisionAvatar.cc.
References G4INCL::Particle::dump(), G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, and G4INCL::IAvatar::theTime.
|
virtual |
Check again the distance of approach. In order for the avatar to be realised, we have to perform a check in the CM system. We define a distance four-vector as
where is the distance vector of the particles at their minimum distance of approach (i.e. at the avatar time). By boosting this four-vector to the CM frame of the two particles and we obtain a new four vector
with a non-zero time component (the collision happens simultaneously for the two particles in the lab system, but not in the CM system). In order for the avatar to be realised, we require that
Note that ; thus, the condition above is more restrictive than the check that we perform in G4INCL::Propagation::StandardPropagationModel::generateBinaryCollisionAvatar. In other words, the avatar generation cannot miss any physical collision avatars.
Implements G4INCL::InteractionAvatar.
Definition at line 81 of file G4INCLBinaryCollisionAvatar.cc.
References G4INCL::InteractionAvatar::boostVector, G4INCL::CrossSections::deltaProduction(), G4INCL::ThreeVector::dot(), G4INCL::CrossSections::elastic(), G4INCL::Book::getAcceptedCollisions(), G4INCL::Store::getBook(), G4INCL::Particle::getPosition(), G4INCL::Nucleus::getStore(), INCL_DEBUG, G4INCL::Particle::isDelta(), G4INCL::Particle::isNucleon(), G4INCL::Particle::isPion(), G4INCL::ThreeVector::mag2(), G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, G4INCL::Particle::print(), G4INCL::CrossSections::recombination(), G4INCL::InteractionAvatar::restoreParticles(), G4INCL::Random::shoot(), G4INCL::KinematicsUtils::squareTotalEnergyInCM(), G4INCL::Math::tenPi, and G4INCL::InteractionAvatar::theNucleus.
|
inlinestatic |
Definition at line 76 of file G4INCLBinaryCollisionAvatar.hh.
|
inlinestatic |
Definition at line 78 of file G4INCLBinaryCollisionAvatar.hh.
Referenced by G4INCL::StandardPropagationModel::generateBinaryCollisionAvatar().
|
inlinevirtual |
Implements G4INCL::IAvatar.
Definition at line 59 of file G4INCLBinaryCollisionAvatar.hh.
References G4INCL::InteractionAvatar::particle1, and G4INCL::InteractionAvatar::particle2.
|
virtual |
Implements G4INCL::IAvatar.
Definition at line 194 of file G4INCLBinaryCollisionAvatar.cc.
References G4INCL::InteractionAvatar::backupParticle1, G4INCL::InteractionAvatar::backupParticle2, G4INCL::Book::getAcceptedCollisions(), G4INCL::Store::getBook(), G4INCL::Book::getCurrentTime(), G4INCL::Particle::getMomentum(), G4INCL::Particle::getPosition(), G4INCL::Nucleus::getStore(), G4INCL::FinalState::getValidity(), INCL_ERROR, G4INCL::Book::incrementAcceptedCollisions(), G4INCL::Book::incrementBlockedCollisions(), G4INCL::ThreeVector::mag(), G4INCL::NoEnergyConservationFS, G4INCL::InteractionAvatar::oldXSec, G4INCL::ParticleBelowFermiFS, G4INCL::ParticleBelowZeroFS, G4INCL::PauliBlockedFS, G4INCL::InteractionAvatar::postInteraction(), G4INCL::Book::setFirstCollisionIsElastic(), G4INCL::Book::setFirstCollisionSpectatorMomentum(), G4INCL::Book::setFirstCollisionSpectatorPosition(), G4INCL::Book::setFirstCollisionTime(), G4INCL::Book::setFirstCollisionXSec(), G4INCL::InteractionAvatar::theNucleus, and G4INCL::ValidFS.
|
virtual |
Implements G4INCL::IAvatar.
Definition at line 188 of file G4INCLBinaryCollisionAvatar.cc.
References G4INCL::Particle::isTargetSpectator(), G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, and G4INCL::InteractionAvatar::preInteraction().
Definition at line 71 of file G4INCLBinaryCollisionAvatar.hh.
References test::c.
Referenced by G4INCL::INCL::INCL().