G4INCL::InteractionAvatar Class Reference

#include <G4INCLInteractionAvatar.hh>

Inheritance diagram for G4INCL::InteractionAvatar:

G4INCL::IAvatar G4INCL::BinaryCollisionAvatar G4INCL::DecayAvatar

Public Member Functions

 InteractionAvatar (G4double, G4INCL::Nucleus *, G4INCL::Particle *)
 InteractionAvatar (G4double, G4INCL::Nucleus *, G4INCL::Particle *, G4INCL::Particle *)
virtual ~InteractionAvatar ()

Static Public Attributes

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

virtual G4INCL::IChannelgetChannel () const =0
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 ()
FinalStatepostInteraction (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

G4INCL::NucleustheNucleus
G4INCL::Particleparticle1
G4INCL::Particleparticle2
ThreeVector boostVector
ParticleType oldParticle1Type
ParticleType oldParticle2Type
G4double oldParticle1Energy
G4double oldParticle2Energy
G4double oldTotalEnergy
G4double oldXSec
G4double oldParticle1Potential
G4double oldParticle2Potential
G4double oldParticle1Mass
G4double oldParticle2Mass
G4double oldParticle1Helicity
G4double oldParticle2Helicity
ThreeVector oldParticle1Momentum
ThreeVector oldParticle2Momentum
ThreeVector oldParticle1Position
ThreeVector oldParticle2Position
G4bool isPiN

Data Structures

class  ViolationEEnergyFunctor
 RootFunctor-derived object for enforcing energy conservation in pi-N.
class  ViolationEMomentumFunctor
 RootFunctor-derived object for enforcing energy conservation in N-N.

Detailed Description

Definition at line 59 of file G4INCLInteractionAvatar.hh.


Constructor & Destructor Documentation

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  
)

Definition at line 68 of file G4INCLInteractionAvatar.cc.

00070     : IAvatar(time), theNucleus(n),
00071     particle1(p1), particle2(p2),
00072     isPiN((p1->isPion() && p2->isNucleon()) || (p2->isPion() && p1->isNucleon()))
00073   {
00074   }

G4INCL::InteractionAvatar::~InteractionAvatar (  )  [virtual]

Definition at line 76 of file G4INCLInteractionAvatar.cc.

00076                                         {
00077   }


Member Function Documentation

G4bool G4INCL::InteractionAvatar::bringParticleInside ( Particle *const   p  )  [protected]

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.

Returns:
true if the algorithm succeeded

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]

Implements G4INCL::IAvatar.

Implemented in G4INCL::BinaryCollisionAvatar, and G4INCL::DecayAvatar.

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().

void G4INCL::InteractionAvatar::preInteractionLocalEnergy ( Particle *const   p  )  [protected]

Apply local-energy transformation, if appropriate.

Parameters:
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().

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       }


Field Documentation

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.

G4double G4INCL::InteractionAvatar::oldParticle1Energy [protected]

Definition at line 116 of file G4INCLInteractionAvatar.hh.

Referenced by preInteractionBlocking(), and restoreParticles().

G4double G4INCL::InteractionAvatar::oldParticle1Helicity [protected]

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().

ThreeVector G4INCL::InteractionAvatar::oldParticle1Momentum [protected]

Definition at line 120 of file G4INCLInteractionAvatar.hh.

Referenced by preInteractionBlocking(), and restoreParticles().

ThreeVector G4INCL::InteractionAvatar::oldParticle1Position [protected]

Definition at line 121 of file G4INCLInteractionAvatar.hh.

Referenced by preInteractionBlocking(), and restoreParticles().

G4double G4INCL::InteractionAvatar::oldParticle1Potential [protected]

Definition at line 117 of file G4INCLInteractionAvatar.hh.

Referenced by preInteractionBlocking(), and restoreParticles().

ParticleType G4INCL::InteractionAvatar::oldParticle1Type [protected]

Definition at line 115 of file G4INCLInteractionAvatar.hh.

Referenced by preInteractionBlocking(), and restoreParticles().

G4double G4INCL::InteractionAvatar::oldParticle2Energy [protected]

Definition at line 116 of file G4INCLInteractionAvatar.hh.

Referenced by preInteractionBlocking(), and restoreParticles().

G4double G4INCL::InteractionAvatar::oldParticle2Helicity [protected]

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().

ThreeVector G4INCL::InteractionAvatar::oldParticle2Momentum [protected]

Definition at line 120 of file G4INCLInteractionAvatar.hh.

Referenced by preInteractionBlocking(), and restoreParticles().

ThreeVector G4INCL::InteractionAvatar::oldParticle2Position [protected]

Definition at line 121 of file G4INCLInteractionAvatar.hh.

Referenced by preInteractionBlocking(), and restoreParticles().

G4double G4INCL::InteractionAvatar::oldParticle2Potential [protected]

Definition at line 117 of file G4INCLInteractionAvatar.hh.

Referenced by preInteractionBlocking(), and restoreParticles().

ParticleType G4INCL::InteractionAvatar::oldParticle2Type [protected]

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().


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:54:07 2013 for Geant4 by  doxygen 1.4.7