#include <G4INCLInteractionAvatar.hh>
Inheritance diagram for G4INCL::InteractionAvatar:
Definition at line 59 of file G4INCLInteractionAvatar.hh.
G4INCL::InteractionAvatar::InteractionAvatar | ( | G4double | , | |
G4INCL::Nucleus * | , | |||
G4INCL::Particle * | ||||
) |
Definition at line 62 of file G4INCLInteractionAvatar.cc.
00063 : IAvatar(time), theNucleus(n), 00064 particle1(p1), particle2(NULL), isPiN(false) 00065 { 00066 }
G4INCL::InteractionAvatar::InteractionAvatar | ( | G4double | , | |
G4INCL::Nucleus * | , | |||
G4INCL::Particle * | , | |||
G4INCL::Particle * | ||||
) |
G4INCL::InteractionAvatar::~InteractionAvatar | ( | ) | [virtual] |
Definition at line 129 of file G4INCLInteractionAvatar.cc.
References DEBUG, G4INCL::Particle::getPosition(), G4INCL::Nucleus::getSurfaceRadius(), G4INCL::ThreeVector::mag(), G4INCL::ThreeVector::mag2(), G4INCL::Particle::setPosition(), and theNucleus.
Referenced by postInteraction().
00129 { 00130 ThreeVector pos = p->getPosition(); 00131 G4double pos2 = pos.mag2(); 00132 const G4double r = theNucleus->getSurfaceRadius(p); 00133 short iterations=0; 00134 const short maxIterations=50; 00135 00136 if(pos2 < r*r) return true; 00137 00138 while( pos2 >= r*r && iterations<maxIterations ) 00139 { 00140 pos *= std::sqrt(r*r*0.99/pos2); 00141 pos2 = pos.mag2(); 00142 iterations++; 00143 } 00144 if( iterations < maxIterations) 00145 { 00146 DEBUG("Particle position vector length was : " << p->getPosition().mag() << ", rescaled to: " << pos.mag() << std::endl); 00147 p->setPosition(pos); 00148 return true; 00149 } 00150 else 00151 return false; 00152 }
G4bool G4INCL::InteractionAvatar::enforceEnergyConservation | ( | FinalState *const | fs | ) | [protected] |
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 343 of file G4INCLInteractionAvatar.cc.
References boostVector, G4INCL::ParticleTable::effectiveDeltaDecayThreshold, G4INCL::FinalState::getCreatedParticles(), G4INCL::Particle::getMass(), G4INCL::FinalState::getModifiedParticles(), G4INCL::RootFinder::getSolution(), shouldUseLocalEnergy(), G4INCL::RootFinder::solve(), theNucleus, and WARN.
Referenced by postInteraction(), and G4INCL::DecayAvatar::postInteraction().
00343 { 00344 // Set up the violationE calculation 00345 ParticleList modified = fs->getModifiedParticles(); 00346 const G4bool manyBodyFinalState = (modified.size() + fs->getCreatedParticles().size() > 1); 00347 if(manyBodyFinalState) 00348 violationEFunctor = new ViolationEMomentumFunctor(theNucleus, fs, &boostVector, shouldUseLocalEnergy()); 00349 else { 00350 Particle const * const p = modified.front(); 00351 // The following condition is necessary for the functor to work 00352 // correctly. A similar condition exists in INCL4.6. 00353 if(p->getMass() < ParticleTable::effectiveDeltaDecayThreshold) 00354 return false; 00355 violationEFunctor = new ViolationEEnergyFunctor(theNucleus, fs); 00356 } 00357 00358 // Apply the root-finding algorithm 00359 const G4bool success = RootFinder::solve(violationEFunctor, 1.0); 00360 if(success) { // Apply the solution 00361 std::pair<G4double,G4double> theSolution = RootFinder::getSolution(); 00362 (*violationEFunctor)(theSolution.first); 00363 } else { 00364 WARN("Couldn't enforce energy conservation after an interaction, root-finding algorithm failed." << std::endl); 00365 } 00366 delete violationEFunctor; 00367 return success; 00368 }
virtual G4INCL::IChannel* G4INCL::InteractionAvatar::getChannel | ( | ) | const [protected, pure virtual] |
FinalState * G4INCL::InteractionAvatar::postInteraction | ( | FinalState * | ) | [protected, virtual] |
Implements G4INCL::IAvatar.
Reimplemented in G4INCL::BinaryCollisionAvatar, and G4INCL::DecayAvatar.
Definition at line 154 of file G4INCLInteractionAvatar.cc.
References G4INCL::FinalState::addOutgoingParticle(), boostVector, bringParticleInside(), DEBUG, G4INCL::Book::decrementCascading(), G4INCL::ParticleTable::effectiveDeltaDecayThreshold, enforceEnergyConservation(), ERROR, G4INCL::Config::getBackToSpectator(), G4INCL::Store::getBook(), G4INCL::Store::getConfig(), G4INCL::FinalState::getCreatedParticles(), G4INCL::FinalState::getDestroyedParticles(), G4INCL::FinalState::getModifiedParticles(), G4INCL::Nucleus::getStore(), G4INCL::Nucleus::getSurfaceRadius(), G4INCL::Nucleus::getTransmissionBarrier(), G4INCL::Book::incrementCascading(), G4INCL::Pauli::isBlocked(), G4INCL::Pauli::isCDPPBlocked(), isPiN, G4INCL::FinalState::makeNoEnergyConservation(), G4INCL::FinalState::makePauliBlocked(), oldTotalEnergy, G4INCL::Proton, restoreParticles(), G4INCL::FinalState::setTotalEnergyBeforeInteraction(), shouldUseLocalEnergy(), theNucleus, and G4INCL::Math::twoThirds.
Referenced by G4INCL::DecayAvatar::postInteraction(), and G4INCL::BinaryCollisionAvatar::postInteraction().
00154 { 00155 ParticleList modified = fs->getModifiedParticles(); 00156 ParticleList modifiedAndCreated = modified; 00157 ParticleList created = fs->getCreatedParticles(); 00158 modifiedAndCreated.insert(modifiedAndCreated.end(), created.begin(), created.end()); 00159 00160 if(!isPiN) { 00161 // Boost back to lab 00162 for( ParticleIter i = modifiedAndCreated.begin(); i != modifiedAndCreated.end(); ++i ) 00163 (*i)->boost(-boostVector); 00164 } 00165 00166 // If there is no Nucleus, just return 00167 if(!theNucleus) return fs; 00168 00169 // Mark pions that have been created outside their well (we will force them 00170 // to be emitted later). 00171 for( ParticleIter i = created.begin(); i != created.end(); ++i ) 00172 if((*i)->isPion() && (*i)->getPosition().mag() > theNucleus->getSurfaceRadius(*i)) { 00173 (*i)->makeParticipant(); 00174 (*i)->setOutOfWell(); 00175 fs->addOutgoingParticle(*i); 00176 DEBUG("Pion was created outside its potential well." << std::endl 00177 << (*i)->print()); 00178 } 00179 00180 // Try to enforce energy conservation 00181 fs->setTotalEnergyBeforeInteraction(oldTotalEnergy); 00182 G4bool success = true; 00183 if(!isPiN || shouldUseLocalEnergy()) 00184 success = enforceEnergyConservation(fs); 00185 if(!success) { 00186 DEBUG("Enforcing energy conservation: failed!" << std::endl); 00187 00188 // Restore the state of the initial particles 00189 restoreParticles(); 00190 00191 // Delete newly created particles 00192 for( ParticleIter i = created.begin(); i != created.end(); ++i ) 00193 delete *i; 00194 00195 FinalState *fsBlocked = new FinalState; 00196 delete fs; 00197 fsBlocked->makeNoEnergyConservation(); 00198 fsBlocked->setTotalEnergyBeforeInteraction(0.0); 00199 00200 return fsBlocked; // Interaction is blocked. Return an empty final state. 00201 } 00202 DEBUG("Enforcing energy conservation: success!" << std::endl); 00203 00204 // Check that outgoing delta resonances can decay to pi-N 00205 for( ParticleIter i = modified.begin(); i != modified.end(); ++i ) 00206 if((*i)->isDelta() && 00207 (*i)->getMass() < ParticleTable::effectiveDeltaDecayThreshold) { 00208 DEBUG("Mass of the produced delta below decay threshold; forbidding collision. deltaMass=" << 00209 (*i)->getMass() << std::endl); 00210 00211 // Restore the state of the initial particles 00212 restoreParticles(); 00213 00214 // Delete newly created particles 00215 for( ParticleIter j = created.begin(); j != created.end(); ++j ) 00216 delete *j; 00217 00218 FinalState *fsBlocked = new FinalState; 00219 delete fs; 00220 fsBlocked->makeNoEnergyConservation(); 00221 fsBlocked->setTotalEnergyBeforeInteraction(0.0); 00222 00223 return fsBlocked; // Interaction is blocked. Return an empty final state. 00224 } 00225 00226 // Test Pauli blocking 00227 G4bool isBlocked = Pauli::isBlocked(modifiedAndCreated, theNucleus); 00228 00229 if(isBlocked) { 00230 DEBUG("Pauli: Blocked!" << std::endl); 00231 00232 // Restore the state of the initial particles 00233 restoreParticles(); 00234 00235 // Delete newly created particles 00236 for( ParticleIter i = created.begin(); i != created.end(); ++i ) 00237 delete *i; 00238 00239 FinalState *fsBlocked = new FinalState; 00240 delete fs; 00241 fsBlocked->makePauliBlocked(); 00242 fsBlocked->setTotalEnergyBeforeInteraction(0.0); 00243 00244 return fsBlocked; // Interaction is blocked. Return an empty final state. 00245 } 00246 DEBUG("Pauli: Allowed!" << std::endl); 00247 00248 // Test CDPP blocking 00249 G4bool isCDPPBlocked = Pauli::isCDPPBlocked(created, theNucleus); 00250 00251 if(isCDPPBlocked) { 00252 DEBUG("CDPP: Blocked!" << std::endl); 00253 00254 // Restore the state of the initial particles 00255 restoreParticles(); 00256 00257 // Delete newly created particles 00258 for( ParticleIter i = created.begin(); i != created.end(); ++i ) 00259 delete *i; 00260 00261 FinalState *fsBlocked = new FinalState; 00262 delete fs; 00263 fsBlocked->makePauliBlocked(); 00264 fsBlocked->setTotalEnergyBeforeInteraction(0.0); 00265 00266 return fsBlocked; // Interaction is blocked. Return an empty final state. 00267 } 00268 DEBUG("CDPP: Allowed!" << std::endl); 00269 00270 // If all went well, try to bring particles inside the nucleus... 00271 for( ParticleIter i = modifiedAndCreated.begin(); i != modifiedAndCreated.end(); ++i ) 00272 { 00273 // ...except for pions beyond their surface radius. 00274 if((*i)->isOutOfWell()) continue; 00275 00276 const G4bool successBringParticlesInside = bringParticleInside(*i); 00277 if( !successBringParticlesInside ) { 00278 ERROR("Failed to bring particle inside the nucleus!" << std::endl); 00279 } 00280 } 00281 00282 // Collision accepted! 00283 for( ParticleIter i = modifiedAndCreated.begin(); i != modifiedAndCreated.end(); ++i ) { 00284 if(!(*i)->isOutOfWell()) { 00285 // Decide if the particle should be made into a spectator 00286 // (Back to spectator) 00287 G4bool goesBackToSpectator = false; 00288 if((*i)->isNucleon() && theNucleus->getStore()->getConfig()->getBackToSpectator()) { 00289 G4double threshold = (*i)->getPotentialEnergy(); 00290 if((*i)->getType()==Proton) 00291 threshold += Math::twoThirds*theNucleus->getTransmissionBarrier(*i); 00292 if((*i)->getKineticEnergy() < threshold) 00293 goesBackToSpectator = true; 00294 } 00295 00296 // Thaw the particle propagation 00297 (*i)->thawPropagation(); 00298 00299 // Increment or decrement the participant counters 00300 if(goesBackToSpectator) { 00301 DEBUG("The following particle goes back to spectator:" << std::endl 00302 << (*i)->print() << std::endl); 00303 if(!(*i)->isTargetSpectator()) { 00304 theNucleus->getStore()->getBook()->decrementCascading(); 00305 } 00306 (*i)->makeTargetSpectator(); 00307 } else { 00308 if((*i)->isTargetSpectator()) { 00309 theNucleus->getStore()->getBook()->incrementCascading(); 00310 } 00311 (*i)->makeParticipant(); 00312 } 00313 } 00314 } 00315 ParticleList destroyed = fs->getDestroyedParticles(); 00316 for( ParticleIter i = destroyed.begin(); i != destroyed.end(); ++i ) 00317 if(!(*i)->isTargetSpectator()) 00318 theNucleus->getStore()->getBook()->decrementCascading(); 00319 00320 return fs; 00321 }
void G4INCL::InteractionAvatar::preInteraction | ( | ) | [protected, virtual] |
Implements G4INCL::IAvatar.
Reimplemented in G4INCL::BinaryCollisionAvatar, and G4INCL::DecayAvatar.
Definition at line 111 of file G4INCLInteractionAvatar.cc.
References G4INCL::Particle::boost(), boostVector, G4INCL::Particle::getEnergy(), G4INCL::Particle::getMomentum(), isPiN, G4INCL::KinematicsUtils::makeBoostVector(), particle1, particle2, preInteractionBlocking(), and preInteractionLocalEnergy().
Referenced by G4INCL::DecayAvatar::preInteraction(), and G4INCL::BinaryCollisionAvatar::preInteraction().
00111 { 00112 preInteractionBlocking(); 00113 00114 preInteractionLocalEnergy(particle1); 00115 00116 if(particle2) { 00117 preInteractionLocalEnergy(particle2); 00118 if(!isPiN) { 00119 boostVector = KinematicsUtils::makeBoostVector(particle1, particle2); 00120 particle2->boost(boostVector); 00121 } 00122 } else { 00123 boostVector = particle1->getMomentum()/particle1->getEnergy(); 00124 } 00125 if(!isPiN) 00126 particle1->boost(boostVector); 00127 }
void G4INCL::InteractionAvatar::preInteractionBlocking | ( | ) | [protected] |
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 79 of file G4INCLInteractionAvatar.cc.
References G4INCL::Particle::getEnergy(), G4INCL::Particle::getHelicity(), G4INCL::Particle::getMass(), G4INCL::Particle::getMomentum(), G4INCL::Particle::getPosition(), G4INCL::Particle::getPotentialEnergy(), G4INCL::Particle::getType(), oldParticle1Energy, oldParticle1Helicity, oldParticle1Mass, oldParticle1Momentum, oldParticle1Position, oldParticle1Potential, oldParticle1Type, oldParticle2Energy, oldParticle2Helicity, oldParticle2Mass, oldParticle2Momentum, oldParticle2Position, oldParticle2Potential, oldParticle2Type, oldTotalEnergy, oldXSec, particle1, particle2, and G4INCL::CrossSections::total().
Referenced by preInteraction().
00079 { 00080 oldParticle1Type = particle1->getType(); 00081 oldParticle1Energy = particle1->getEnergy(); 00082 oldParticle1Potential = particle1->getPotentialEnergy(); 00083 oldParticle1Momentum = particle1->getMomentum(); 00084 oldParticle1Position = particle1->getPosition(); 00085 oldParticle1Mass = particle1->getMass(); 00086 oldParticle1Helicity = particle1->getHelicity(); 00087 00088 if(particle2) { 00089 oldParticle2Type = particle2->getType(); 00090 oldParticle2Energy = particle2->getEnergy(); 00091 oldParticle2Potential = particle2->getPotentialEnergy(); 00092 oldParticle2Momentum = particle2->getMomentum(); 00093 oldParticle2Position = particle2->getPosition(); 00094 oldParticle2Mass = particle2->getMass(); 00095 oldParticle2Helicity = particle2->getHelicity(); 00096 oldTotalEnergy = oldParticle1Energy + oldParticle2Energy 00097 - particle1->getPotentialEnergy() - particle2->getPotentialEnergy(); 00098 oldXSec = CrossSections::total(particle1, particle2); 00099 } else { 00100 oldTotalEnergy = oldParticle1Energy - particle1->getPotentialEnergy(); 00101 } 00102 }
void G4INCL::InteractionAvatar::preInteractionLocalEnergy | ( | Particle *const | p | ) | [protected] |
Apply local-energy transformation, if appropriate.
p | particle to apply the transformation to |
Definition at line 104 of file G4INCLInteractionAvatar.cc.
References G4INCL::Particle::isPion(), shouldUseLocalEnergy(), theNucleus, and G4INCL::KinematicsUtils::transformToLocalEnergyFrame().
Referenced by preInteraction().
00104 { 00105 if(!theNucleus || p->isPion()) return; // Local energy does not make any sense without a nucleus 00106 00107 if(shouldUseLocalEnergy()) 00108 KinematicsUtils::transformToLocalEnergyFrame(theNucleus, p); 00109 }
void G4INCL::InteractionAvatar::restoreParticles | ( | ) | const [protected] |
Restore the state of both particles.
The state must first be stored by calling preInteractionBlocking().
Definition at line 323 of file G4INCLInteractionAvatar.cc.
References oldParticle1Energy, oldParticle1Helicity, oldParticle1Mass, oldParticle1Momentum, oldParticle1Position, oldParticle1Potential, oldParticle1Type, oldParticle2Energy, oldParticle2Helicity, oldParticle2Mass, oldParticle2Momentum, oldParticle2Position, oldParticle2Potential, oldParticle2Type, particle1, particle2, G4INCL::Particle::setEnergy(), G4INCL::Particle::setHelicity(), G4INCL::Particle::setMass(), G4INCL::Particle::setMomentum(), G4INCL::Particle::setPosition(), G4INCL::Particle::setPotentialEnergy(), and G4INCL::Particle::setType().
Referenced by G4INCL::BinaryCollisionAvatar::getChannel(), postInteraction(), and G4INCL::DecayAvatar::postInteraction().
00323 { 00324 particle1->setType(oldParticle1Type); 00325 particle1->setEnergy(oldParticle1Energy); 00326 particle1->setPotentialEnergy(oldParticle1Potential); 00327 particle1->setMomentum(oldParticle1Momentum); 00328 particle1->setPosition(oldParticle1Position); 00329 particle1->setMass(oldParticle1Mass); 00330 particle1->setHelicity(oldParticle1Helicity); 00331 00332 if(particle2) { 00333 particle2->setType(oldParticle2Type); 00334 particle2->setEnergy(oldParticle2Energy); 00335 particle2->setPotentialEnergy(oldParticle2Potential); 00336 particle2->setMomentum(oldParticle2Momentum); 00337 particle2->setPosition(oldParticle2Position); 00338 particle2->setMass(oldParticle2Mass); 00339 particle2->setHelicity(oldParticle2Helicity); 00340 } 00341 }
G4bool G4INCL::InteractionAvatar::shouldUseLocalEnergy | ( | ) | const [inline, protected] |
true if the given avatar should use local energy
Definition at line 99 of file G4INCLInteractionAvatar.hh.
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(), isPiN, and theNucleus.
Referenced by enforceEnergyConservation(), G4INCL::BinaryCollisionAvatar::getChannel(), postInteraction(), and preInteractionLocalEnergy().
00099 { 00100 if(!theNucleus) return false; 00101 LocalEnergyType theLocalEnergyType; 00102 if(getType()==DecayAvatarType || isPiN) 00103 theLocalEnergyType = theNucleus->getStore()->getConfig()->getLocalEnergyPiType(); 00104 else 00105 theLocalEnergyType = theNucleus->getStore()->getConfig()->getLocalEnergyBBType(); 00106 00107 const G4bool firstAvatar = (theNucleus->getStore()->getBook()->getAcceptedCollisions() == 0); 00108 return ((theLocalEnergyType == FirstCollisionLocalEnergy && firstAvatar) || 00109 theLocalEnergyType == AlwaysLocalEnergy); 00110 }
ThreeVector G4INCL::InteractionAvatar::boostVector [protected] |
Definition at line 114 of file G4INCLInteractionAvatar.hh.
Referenced by enforceEnergyConservation(), G4INCL::BinaryCollisionAvatar::getChannel(), postInteraction(), and preInteraction().
G4bool G4INCL::InteractionAvatar::isPiN [protected] |
Definition at line 122 of file G4INCLInteractionAvatar.hh.
Referenced by postInteraction(), preInteraction(), and shouldUseLocalEnergy().
const G4double G4INCL::InteractionAvatar::locEAccuracy = 1.E-4 [static] |
Target accuracy in the determination of the local-energy Q-value.
Definition at line 66 of file G4INCLInteractionAvatar.hh.
const G4int G4INCL::InteractionAvatar::maxIterLocE = 50 [static] |
Max number of iterations for the determination of the local-energy Q-value.
Definition at line 68 of file G4INCLInteractionAvatar.hh.
Definition at line 116 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
Definition at line 119 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
G4double G4INCL::InteractionAvatar::oldParticle1Mass [protected] |
Definition at line 118 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
Definition at line 120 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
Definition at line 121 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
Definition at line 117 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
Definition at line 115 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
Definition at line 116 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
Definition at line 119 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
G4double G4INCL::InteractionAvatar::oldParticle2Mass [protected] |
Definition at line 118 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
Definition at line 120 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
Definition at line 121 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
Definition at line 117 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
Definition at line 115 of file G4INCLInteractionAvatar.hh.
Referenced by preInteractionBlocking(), and restoreParticles().
G4double G4INCL::InteractionAvatar::oldTotalEnergy [protected] |
Definition at line 116 of file G4INCLInteractionAvatar.hh.
Referenced by postInteraction(), G4INCL::DecayAvatar::postInteraction(), and preInteractionBlocking().
G4double G4INCL::InteractionAvatar::oldXSec [protected] |
Definition at line 116 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::BinaryCollisionAvatar::postInteraction(), and preInteractionBlocking().
G4INCL::Particle* G4INCL::InteractionAvatar::particle1 [protected] |
Definition at line 113 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::DecayAvatar::dump(), G4INCL::BinaryCollisionAvatar::dump(), G4INCL::DecayAvatar::getChannel(), G4INCL::BinaryCollisionAvatar::getChannel(), G4INCL::DecayAvatar::getParticles(), G4INCL::BinaryCollisionAvatar::getParticles(), G4INCL::DecayAvatar::postInteraction(), preInteraction(), preInteractionBlocking(), and restoreParticles().
G4INCL::Particle * G4INCL::InteractionAvatar::particle2 [protected] |
Definition at line 113 of file G4INCLInteractionAvatar.hh.
Referenced by G4INCL::BinaryCollisionAvatar::dump(), G4INCL::BinaryCollisionAvatar::getChannel(), G4INCL::BinaryCollisionAvatar::getParticles(), preInteraction(), preInteractionBlocking(), and restoreParticles().
G4INCL::Nucleus* G4INCL::InteractionAvatar::theNucleus [protected] |
Definition at line 112 of file G4INCLInteractionAvatar.hh.
Referenced by bringParticleInside(), enforceEnergyConservation(), G4INCL::DecayAvatar::getChannel(), G4INCL::BinaryCollisionAvatar::getChannel(), postInteraction(), G4INCL::DecayAvatar::postInteraction(), G4INCL::BinaryCollisionAvatar::postInteraction(), preInteractionLocalEnergy(), and shouldUseLocalEnergy().