ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Public Member Functions | |
BinaryCollisionAvatar (G4double, G4double, G4INCL::Nucleus *, G4INCL::Particle *, G4INCL::Particle *) | |
virtual | ~BinaryCollisionAvatar () |
G4INCL::IChannel * | getChannel () |
ParticleList | getParticles () const |
virtual void | preInteraction () |
virtual void | postInteraction (FinalState *) |
std::string | dump () const |
Public Member Functions inherited from G4INCL::InteractionAvatar | |
InteractionAvatar (G4double, G4INCL::Nucleus *, G4INCL::Particle *) | |
InteractionAvatar (G4double, G4INCL::Nucleus *, G4INCL::Particle *, G4INCL::Particle *) | |
virtual | ~InteractionAvatar () |
Public Member Functions inherited from G4INCL::IAvatar | |
IAvatar () | |
IAvatar (G4double time) | |
virtual | ~IAvatar () |
FinalState * | getFinalState () |
void | fillFinalState (FinalState *fs) |
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 G4double | getBias () |
Get the bias. | |
static void | setBias (const G4double b) |
Set the bias. | |
Static Public Member Functions inherited from G4INCL::InteractionAvatar | |
static void | deleteBackupParticles () |
Release the memory allocated for the backup particles. | |
Private Attributes | |
G4double | theCrossSection |
G4bool | isParticle1Spectator |
G4bool | isParticle2Spectator |
G4bool | isElastic |
G4bool | isStrangeProduction |
Static Private Attributes | |
static G4ThreadLocal G4double | cutNN = 1910.0 |
static G4ThreadLocal G4double | cutNNSquared = 3648100.0 |
static G4ThreadLocal G4double | bias = 1. |
Additional Inherited Members | |
Static Public Attributes inherited from G4INCL::InteractionAvatar | |
static const G4double | locEAccuracy = 1.E-4 |
Target accuracy in the determination of the local-energy Q-value. | |
static const G4int | maxIterLocE = 50 |
Max number of iterations for the determination of the local-energy Q-value. | |
Protected Member Functions inherited from G4INCL::InteractionAvatar | |
G4bool | bringParticleInside (Particle *const p) |
void | preInteractionLocalEnergy (Particle *const p) |
Apply local-energy transformation, if appropriate. | |
void | preInteractionBlocking () |
Store the state of the particles before the interaction. | |
void | preInteraction () |
void | postInteraction (FinalState *) |
void | restoreParticles () const |
Restore the state of both particles. | |
G4bool | shouldUseLocalEnergy () const |
true if the given avatar should use local energy | |
G4bool | enforceEnergyConservation (FinalState *const fs) |
Enforce energy conservation. | |
Protected Attributes inherited from G4INCL::InteractionAvatar | |
Nucleus * | theNucleus |
Particle * | particle1 |
Particle * | particle2 |
ThreeVector | boostVector |
G4double | oldTotalEnergy |
G4double | oldXSec |
G4bool | isPiN |
G4double | weight |
ParticleList | modified |
ParticleList | created |
ParticleList | modifiedAndCreated |
ParticleList | Destroyed |
ParticleList | ModifiedAndDestroyed |
Static Protected Attributes inherited from G4INCL::InteractionAvatar | |
static G4ThreadLocal Particle * | backupParticle1 = NULL |
static G4ThreadLocal Particle * | backupParticle2 = NULL |
Definition at line 56 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 56 of file G4INCLBinaryCollisionAvatar.hh
G4INCL::BinaryCollisionAvatar::BinaryCollisionAvatar | ( | G4double | time, |
G4double | crossSection, | ||
G4INCL::Nucleus * | n, | ||
G4INCL::Particle * | p1, | ||
G4INCL::Particle * | p2 | ||
) |
Definition at line 124 of file G4INCLBinaryCollisionAvatar.cc.
View newest version in sPHENIX GitHub at line 124 of file G4INCLBinaryCollisionAvatar.cc
References G4INCL::CollisionAvatarType, and G4INCL::IAvatar::setType().
|
virtual |
Definition at line 135 of file G4INCLBinaryCollisionAvatar.cc.
View newest version in sPHENIX GitHub at line 135 of file G4INCLBinaryCollisionAvatar.cc
|
virtual |
Implements G4INCL::IAvatar.
Definition at line 1300 of file G4INCLBinaryCollisionAvatar.cc.
View newest version in sPHENIX GitHub at line 1300 of file G4INCLBinaryCollisionAvatar.cc
References G4INCL::Particle::dump(), G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, and G4INCL::IAvatar::theTime.
|
inlinestatic |
Get the bias.
Definition at line 83 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 83 of file G4INCLBinaryCollisionAvatar.hh
References bias.
|
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.
Bias apply for this reaction in order to get the same ParticleBias for all stange particles. Can be reduced after because of the watchdog.
Implements G4INCL::InteractionAvatar.
Definition at line 138 of file G4INCLBinaryCollisionAvatar.cc.
View newest version in sPHENIX GitHub at line 138 of file G4INCLBinaryCollisionAvatar.cc
References bias, G4INCL::InteractionAvatar::boostVector, cutNNSquared, G4INCL::ThreeVector::dot(), G4INCL::CrossSections::elastic(), G4INCL::CrossSections::etaNToPiN(), G4INCL::CrossSections::etaNToPiPiN(), G4INCL::Book::getAcceptedCollisions(), G4INCL::Particle::getBiasFromVector(), G4INCL::Store::getBook(), G4INCL::Particle::getPosition(), G4INCL::Nucleus::getStore(), INCL_DEBUG, INCL_ERROR, INCL_WARN, G4INCL::Particle::isAntiKaon(), G4INCL::Particle::isDelta(), isElastic, G4INCL::Particle::isEta(), G4INCL::Particle::isKaon(), G4INCL::Particle::isLambda(), G4INCL::Particle::isNucleon(), G4INCL::Particle::isOmega(), G4INCL::InteractionAvatar::isPiN, G4INCL::Particle::isSigma(), isStrangeProduction, G4INCL::ThreeVector::mag2(), G4INCL::Particle::MergeVectorBias(), G4INCL::CrossSections::NDeltaToDeltaLK(), G4INCL::CrossSections::NDeltaToDeltaSK(), G4INCL::CrossSections::NDeltaToNLK(), G4INCL::CrossSections::NDeltaToNN(), G4INCL::CrossSections::NDeltaToNNKKb(), G4INCL::CrossSections::NDeltaToNSK(), G4INCL::CrossSections::NKbToL2pi(), G4INCL::CrossSections::NKbToLpi(), G4INCL::CrossSections::NKbToNKb(), G4INCL::CrossSections::NKbToNKb2pi(), G4INCL::CrossSections::NKbToNKbpi(), G4INCL::CrossSections::NKbToS2pi(), G4INCL::CrossSections::NKbToSpi(), G4INCL::CrossSections::NKToNK(), G4INCL::CrossSections::NKToNK2pi(), G4INCL::CrossSections::NKToNKpi(), G4INCL::CrossSections::NLToNS(), G4INCL::CrossSections::NNToMissingStrangeness(), G4INCL::CrossSections::NNToNDelta(), G4INCL::CrossSections::NNToNDeltaEta(), G4INCL::CrossSections::NNToNDeltaOmega(), G4INCL::CrossSections::NNToNLK(), G4INCL::CrossSections::NNToNLK2pi(), G4INCL::CrossSections::NNToNLKpi(), G4INCL::CrossSections::NNToNNEtaExclu(), G4INCL::CrossSections::NNToNNEtaxPi(), G4INCL::CrossSections::NNToNNKKb(), G4INCL::CrossSections::NNToNNOmegaExclu(), G4INCL::CrossSections::NNToNNOmegaxPi(), G4INCL::CrossSections::NNToNSK(), G4INCL::CrossSections::NNToNSK2pi(), G4INCL::CrossSections::NNToNSKpi(), G4INCL::CrossSections::NNToxPiNN(), G4INCL::CrossSections::NpiToLK(), G4INCL::CrossSections::NpiToLK2pi(), G4INCL::CrossSections::NpiToLKpi(), G4INCL::CrossSections::NpiToMissingStrangeness(), G4INCL::CrossSections::NpiToNKKb(), G4INCL::CrossSections::NpiToSK(), G4INCL::CrossSections::NpiToSK2pi(), G4INCL::CrossSections::NpiToSKpi(), G4INCL::CrossSections::NSToNL(), G4INCL::CrossSections::NSToNS(), G4INCL::CrossSections::omegaNToPiN(), G4INCL::CrossSections::omegaNToPiPiN(), G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, G4INCL::CrossSections::piNToDelta(), G4INCL::CrossSections::piNToEtaN(), G4INCL::CrossSections::piNToOmegaN(), G4INCL::CrossSections::piNToxPiN(), G4INCL::Particle::print(), G4INCL::InteractionAvatar::restoreParticles(), G4INCL::Random::shoot(), G4INCL::KinematicsUtils::squareTotalEnergyInCM(), G4INCL::Math::tenPi, theCrossSection, G4INCL::InteractionAvatar::theNucleus, G4INCL::CrossSections::total(), and G4INCL::InteractionAvatar::weight.
|
inlinestatic |
Definition at line 78 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 78 of file G4INCLBinaryCollisionAvatar.hh
References cutNN.
|
inlinestatic |
Definition at line 80 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 80 of file G4INCLBinaryCollisionAvatar.hh
References cutNNSquared.
Referenced by G4INCL::StandardPropagationModel::generateBinaryCollisionAvatar().
|
inlinevirtual |
Implements G4INCL::IAvatar.
Definition at line 61 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 61 of file G4INCLBinaryCollisionAvatar.hh
References G4INCL::InteractionAvatar::particle1, and G4INCL::InteractionAvatar::particle2.
|
virtual |
Implements G4INCL::IAvatar.
Definition at line 1256 of file G4INCLBinaryCollisionAvatar.cc.
View newest version in sPHENIX GitHub at line 1256 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::getNumberOfKaon(), G4INCL::Particle::getPosition(), G4INCL::Nucleus::getStore(), G4INCL::FinalState::getValidity(), INCL_ERROR, G4INCL::Book::incrementAcceptedCollisions(), G4INCL::Book::incrementBlockedCollisions(), isElastic, isParticle1Spectator, isParticle2Spectator, isStrangeProduction, 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::Particle::setNumberOfKaon(), t, G4INCL::InteractionAvatar::theNucleus, and G4INCL::ValidFS.
|
virtual |
Implements G4INCL::IAvatar.
Definition at line 1250 of file G4INCLBinaryCollisionAvatar.cc.
View newest version in sPHENIX GitHub at line 1250 of file G4INCLBinaryCollisionAvatar.cc
References isParticle1Spectator, isParticle2Spectator, G4INCL::Particle::isTargetSpectator(), G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, and G4INCL::InteractionAvatar::preInteraction().
Set the bias.
Definition at line 86 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 86 of file G4INCLBinaryCollisionAvatar.hh
Referenced by G4INCL::INCL::INCL().
Definition at line 73 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 73 of file G4INCLBinaryCollisionAvatar.hh
References c, cutNN, and cutNNSquared.
Referenced by G4INCL::INCL::INCL().
|
staticprivate |
Definition at line 91 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 91 of file G4INCLBinaryCollisionAvatar.hh
Referenced by getBias(), getChannel(), and setBias().
|
staticprivate |
Definition at line 89 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 89 of file G4INCLBinaryCollisionAvatar.hh
Referenced by getCutNN(), and setCutNN().
|
staticprivate |
Definition at line 90 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 90 of file G4INCLBinaryCollisionAvatar.hh
Referenced by getChannel(), getCutNNSquared(), and setCutNN().
|
private |
Definition at line 95 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 95 of file G4INCLBinaryCollisionAvatar.hh
Referenced by getChannel(), and postInteraction().
|
private |
Definition at line 93 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 93 of file G4INCLBinaryCollisionAvatar.hh
Referenced by postInteraction(), and preInteraction().
|
private |
Definition at line 94 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 94 of file G4INCLBinaryCollisionAvatar.hh
Referenced by postInteraction(), and preInteraction().
|
private |
Definition at line 97 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 97 of file G4INCLBinaryCollisionAvatar.hh
Referenced by getChannel(), and postInteraction().
|
private |
Definition at line 92 of file G4INCLBinaryCollisionAvatar.hh.
View newest version in sPHENIX GitHub at line 92 of file G4INCLBinaryCollisionAvatar.hh
Referenced by getChannel().