Geant4  10.00.p02
G4INCL::Particle Class Reference

#include <G4INCLParticle.hh>

+ Inheritance diagram for G4INCL::Particle:
+ Collaboration diagram for G4INCL::Particle:

Public Member Functions

 Particle ()
 
 Particle (ParticleType t, G4double energy, ThreeVector const &momentum, ThreeVector const &position)
 
 Particle (ParticleType t, ThreeVector const &momentum, ThreeVector const &position)
 
virtual ~Particle ()
 
 Particle (const Particle &rhs)
 Copy constructor. More...
 
Particleoperator= (const Particle &rhs)
 Assignment operator. More...
 
G4INCL::ParticleType getType () const
 Get the particle type. More...
 
virtual G4INCL::ParticleSpecies getSpecies () const
 Get the particle species. More...
 
void setType (ParticleType t)
 
G4bool isNucleon () const
 Is this a nucleon? More...
 
ParticipantType getParticipantType () const
 
void setParticipantType (ParticipantType const p)
 
G4bool isParticipant () const
 
G4bool isTargetSpectator () const
 
G4bool isProjectileSpectator () const
 
virtual void makeParticipant ()
 
virtual void makeTargetSpectator ()
 
virtual void makeProjectileSpectator ()
 
G4bool isPion () const
 Is this a pion? More...
 
G4bool isResonance () const
 Is it a resonance? More...
 
G4bool isDelta () const
 Is it a Delta? More...
 
G4int getA () const
 Returns the baryon number. More...
 
G4int getZ () const
 Returns the charge number. More...
 
G4double getBeta () const
 
ThreeVector boostVector () const
 Returns a three vector we can give to the boost() -method. More...
 
void boost (const ThreeVector &aBoostVector)
 Boost the particle using a boost vector. More...
 
void lorentzContract (const ThreeVector &aBoostVector, const ThreeVector &refPos)
 Lorentz-contract the particle position around some center. More...
 
G4double getMass () const
 Get the cached particle mass. More...
 
G4double getINCLMass () const
 Get the INCL particle mass. More...
 
virtual G4double getTableMass () const
 Get the tabulated particle mass. More...
 
G4double getRealMass () const
 Get the real particle mass. More...
 
void setRealMass ()
 Set the mass of the Particle to its real mass. More...
 
void setTableMass ()
 Set the mass of the Particle to its table mass. More...
 
void setINCLMass ()
 Set the mass of the Particle to its table mass. More...
 
G4double getEmissionQValueCorrection (const G4int AParent, const G4int ZParent) const
 Computes correction on the emission Q-value. More...
 
G4double getTransferQValueCorrection (const G4int AFrom, const G4int ZFrom, const G4int ATo, const G4int ZTo) const
 Computes correction on the transfer Q-value. More...
 
G4double getInvariantMass () const
 Get the the particle invariant mass. More...
 
G4double getKineticEnergy () const
 Get the particle kinetic energy. More...
 
G4double getPotentialEnergy () const
 Get the particle potential energy. More...
 
void setPotentialEnergy (G4double v)
 Set the particle potential energy. More...
 
G4double getEnergy () const
 Get the energy of the particle in MeV. More...
 
void setMass (G4double mass)
 Set the mass of the particle in MeV/c^2. More...
 
void setEnergy (G4double energy)
 Set the energy of the particle in MeV. More...
 
const G4INCL::ThreeVectorgetMomentum () const
 Get the momentum vector. More...
 
virtual G4INCL::ThreeVector getAngularMomentum () const
 Get the angular momentum w.r.t. More...
 
virtual void setMomentum (const G4INCL::ThreeVector &momentum)
 Set the momentum vector. More...
 
const G4INCL::ThreeVectorgetPosition () const
 Set the position vector. More...
 
virtual void setPosition (const G4INCL::ThreeVector &position)
 
G4double getHelicity ()
 
void setHelicity (G4double h)
 
void propagate (G4double step)
 
G4int getNumberOfCollisions () const
 Return the number of collisions undergone by the particle. More...
 
void setNumberOfCollisions (G4int n)
 Set the number of collisions undergone by the particle. More...
 
void incrementNumberOfCollisions ()
 Increment the number of collisions undergone by the particle. More...
 
G4int getNumberOfDecays () const
 Return the number of decays undergone by the particle. More...
 
void setNumberOfDecays (G4int n)
 Set the number of decays undergone by the particle. More...
 
void incrementNumberOfDecays ()
 Increment the number of decays undergone by the particle. More...
 
void setOutOfWell ()
 Mark the particle as out of its potential well. More...
 
G4bool isOutOfWell () const
 Check if the particle is out of its potential well. More...
 
void setEmissionTime (G4double t)
 
G4double getEmissionTime ()
 
ThreeVector getTransversePosition () const
 Transverse component of the position w.r.t. More...
 
ThreeVector getLongitudinalPosition () const
 Longitudinal component of the position w.r.t. More...
 
const ThreeVectoradjustMomentumFromEnergy ()
 Rescale the momentum to match the total energy. More...
 
G4double adjustEnergyFromMomentum ()
 Recompute the energy to match the momentum. More...
 
G4bool isInList (ParticleList const &l) const
 Check if the particle belongs to a given list. More...
 
G4bool isCluster () const
 
void setFrozenMomentum (const ThreeVector &momentum)
 Set the frozen particle momentum. More...
 
void setFrozenEnergy (const G4double energy)
 Set the frozen particle momentum. More...
 
ThreeVector getFrozenMomentum () const
 Get the frozen particle momentum. More...
 
G4double getFrozenEnergy () const
 Get the frozen particle momentum. More...
 
ThreeVector getPropagationVelocity () const
 Get the propagation velocity of the particle. More...
 
void freezePropagation ()
 Freeze particle propagation. More...
 
void thawPropagation ()
 Unfreeze particle propagation. More...
 
virtual void rotate (const G4double angle, const ThreeVector &axis)
 Rotate the particle position and momentum. More...
 
std::string print () const
 
std::string dump () const
 
long getID () const
 
ParticleList const * getParticles () const
 Return a NULL pointer. More...
 
G4double getReflectionMomentum () const
 Return the reflection momentum. More...
 
void setUncorrelatedMomentum (const G4double p)
 Set the uncorrelated momentum. More...
 
void rpCorrelate ()
 Make the particle follow a strict r-p correlation. More...
 
void rpDecorrelate ()
 Make the particle not follow a strict r-p correlation. More...
 
G4double getCosRPAngle () const
 Get the cosine of the angle between position and momentum. More...
 

Protected Member Functions

void swap (Particle &rhs)
 Helper method for the assignment operator. More...
 

Protected Attributes

G4int theZ
 
G4int theA
 
ParticipantType theParticipantType
 
G4INCL::ParticleType theType
 
G4double theEnergy
 
G4doublethePropagationEnergy
 
G4double theFrozenEnergy
 
G4INCL::ThreeVector theMomentum
 
G4INCL::ThreeVectorthePropagationMomentum
 
G4INCL::ThreeVector theFrozenMomentum
 
G4INCL::ThreeVector thePosition
 
G4int nCollisions
 
G4int nDecays
 
G4double thePotentialEnergy
 
long ID
 
G4bool rpCorrelated
 
G4double uncorrelatedMomentum
 

Private Attributes

G4double theHelicity
 
G4double emissionTime
 
G4bool outOfWell
 
G4double theMass
 

Static Private Attributes

static G4ThreadLocal long nextID = 1
 

Detailed Description

Definition at line 94 of file G4INCLParticle.hh.

Constructor & Destructor Documentation

G4INCL::Particle::Particle ( )

Definition at line 51 of file G4INCLParticle.cc.

References ID, and nextID.

Referenced by G4INCL::Cluster::Cluster(), G4INCL::ProjectileRemnant::reset(), and G4INCL::ProjectileRemnant::storeComponents().

+ Here is the caller graph for this function:

G4INCL::Particle::Particle ( ParticleType  t,
G4double  energy,
ThreeVector const &  momentum,
ThreeVector const &  position 
)

Definition at line 76 of file G4INCLParticle.cc.

References getInvariantMass(), ID, INCL_WARN, nextID, setMass(), setType(), G4INCL::TargetSpectator, theEnergy, and theParticipantType.

+ Here is the call graph for this function:

G4INCL::Particle::Particle ( ParticleType  t,
ThreeVector const &  momentum,
ThreeVector const &  position 
)

Definition at line 102 of file G4INCLParticle.cc.

References G4INCL::KinematicsUtils::energy(), ID, INCL_ERROR, isResonance(), G4INCL::ThreeVector::mag2(), nextID, setType(), G4INCL::TargetSpectator, theEnergy, theFrozenEnergy, theMass, theMomentum, and theParticipantType.

+ Here is the call graph for this function:

virtual G4INCL::Particle::~Particle ( )
inlinevirtual

Definition at line 99 of file G4INCLParticle.hh.

G4INCL::Particle::Particle ( const Particle rhs)
inline

Copy constructor.

Does not copy the particle ID.

Definition at line 105 of file G4INCLParticle.hh.

References ID, nextID, theEnergy, theFrozenEnergy, theFrozenMomentum, theMomentum, thePropagationEnergy, and thePropagationMomentum.

Member Function Documentation

G4double G4INCL::Particle::adjustEnergyFromMomentum ( )

Recompute the energy to match the momentum.

Definition at line 141 of file G4INCLParticle.cc.

References G4INCL::ThreeVector::mag2(), theEnergy, theMass, and theMomentum.

Referenced by G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::Nucleus::computeRecoilKinematics(), G4INCL::PhaseSpaceDecay::decay(), G4INCL::Nucleus::decayOutgoingDeltas(), G4INCL::DeltaDecayChannel::getFinalState(), and G4INCL::RecombinationChannel::getFinalState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const ThreeVector & G4INCL::Particle::adjustMomentumFromEnergy ( )

Rescale the momentum to match the total energy.

Definition at line 128 of file G4INCLParticle.cc.

References INCL_ERROR, G4INCL::ThreeVector::mag2(), print(), theEnergy, theMass, and theMomentum.

Referenced by G4INCL::Cluster::Cluster(), G4INCL::Nucleus::emitInsidePions(), G4INCL::CrossSections::interactionDistanceNN(), G4INCL::CrossSections::interactionDistancePiN(), G4INCL::ParticleEntryChannel::particleEnters(), G4INCL::TransmissionChannel::particleLeaves(), G4INCL::StandardPropagationModel::shootParticle(), and G4INCL::KinematicsUtils::transformToLocalEnergyFrame().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::Particle::boost ( const ThreeVector aBoostVector)
inline

Boost the particle using a boost vector.

Example (go to the particle rest frame): particle->boost(particle->boostVector());

Definition at line 327 of file G4INCLParticle.hh.

References alpha, bp, G4INCL::ThreeVector::dot(), G4INCL::ThreeVector::mag2(), theEnergy, and theMomentum.

Referenced by G4INCL::Cluster::boost(), G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::PhaseSpaceDecay::decay(), G4INCL::Nucleus::decayOutgoingDeltas(), and G4INCL::InteractionAvatar::preInteraction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ThreeVector G4INCL::Particle::boostVector ( ) const
inline

Returns a three vector we can give to the boost() -method.

In order to go to the particle rest frame you need to multiply the boost vector by -1.0.

Definition at line 317 of file G4INCLParticle.hh.

References theEnergy, and theMomentum.

Referenced by G4INCL::PhaseSpaceDecay::decay(), G4INCL::StandardPropagationModel::shootComposite(), and G4INCL::StandardPropagationModel::shootParticle().

+ Here is the caller graph for this function:

std::string G4INCL::Particle::dump ( ) const
inline

Definition at line 735 of file G4INCLParticle.hh.

References G4INCL::ThreeVector::dump(), G4INCL::ParticleTable::getName(), ID, theEnergy, theMomentum, thePosition, and theType.

Referenced by G4INCL::ParticleEntryAvatar::dump(), G4INCL::BinaryCollisionAvatar::dump(), G4INCL::DecayAvatar::dump(), and G4INCL::SurfaceAvatar::dump().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::Particle::freezePropagation ( )
inline

Freeze particle propagation.

Make the particle use theFrozenMomentum and theFrozenEnergy for propagation. The normal state can be restored by calling the thawPropagation() method.

Definition at line 693 of file G4INCLParticle.hh.

References theFrozenEnergy, theFrozenMomentum, thePropagationEnergy, and thePropagationMomentum.

G4int G4INCL::Particle::getA ( ) const
inline

Returns the baryon number.

Definition at line 301 of file G4INCLParticle.hh.

References theA.

Referenced by G4INCL::ProjectileRemnant::addDynamicalSpectator(), G4INCL::Cluster::addParticle(), G4INCL::ClusteringModelIntercomparison::clusterCanEscape(), G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::INCL::continueCascade(), G4INCL::ClusterDecay::decay(), G4INCL::Nucleus::fillEventInfo(), G4INCL::Nucleus::finalizeProjectileRemnant(), G4INCL::ClusteringModelIntercomparison::findClusterStartingFrom(), G4INCL::PauliStandard::getBlockingProbability(), G4INCL::ClusteringModelIntercomparison::getCluster(), G4INCL::Nucleus::getConservationBalance(), G4INCL::CoulombNonRelativistic::getCoulombRadius(), G4INCL::ParticleEntryChannel::getFinalState(), G4INCL::TransmissionChannel::getFinalState(), G4INCL::SurfaceAvatar::getTransmissionProbability(), G4INCL::NuclearDensity::getTransmissionRadius(), G4INCL::TransmissionChannel::initializeKineticEnergyOutside(), G4INCL::Nucleus::insertParticle(), G4INCL::ClusterDecay::isStable(), G4INCL::INCL::preCascade(), G4INCL::INCL::RecoilCMFunctor::RecoilCMFunctor(), G4INCL::INCL::RecoilFunctor::RecoilFunctor(), G4INCL::ProjectileRemnant::removeParticle(), G4INCL::INCL::RecoilCMFunctor::scaleParticleCMMomenta(), G4INCL::INCL::RecoilFunctor::scaleParticleEnergies(), G4INCL::StandardPropagationModel::shootComposite(), and G4INCL::StandardPropagationModel::shootParticle().

+ Here is the caller graph for this function:

virtual G4INCL::ThreeVector G4INCL::Particle::getAngularMomentum ( ) const
inlinevirtual

Get the angular momentum w.r.t.

the origin

Reimplemented in G4INCL::Cluster.

Definition at line 580 of file G4INCLParticle.hh.

References theMomentum, thePosition, and G4INCL::ThreeVector::vector().

Referenced by G4INCL::Cluster::getAngularMomentum(), and G4INCL::StandardPropagationModel::shootParticle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::Particle::getBeta ( ) const
inline

Definition at line 306 of file G4INCLParticle.hh.

References G4INCL::ThreeVector::mag(), theEnergy, and theMomentum.

+ Here is the call graph for this function:

G4double G4INCL::Particle::getCosRPAngle ( ) const
inline

Get the cosine of the angle between position and momentum.

Definition at line 781 of file G4INCLParticle.hh.

References G4INCL::ThreeVector::dot(), G4INCL::ThreeVector::mag2(), thePosition, and thePropagationMomentum.

Referenced by G4INCL::SurfaceAvatar::initializeRefractionVariables(), and G4INCL::ParticleEntryChannel::particleEnters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::Particle::getEmissionQValueCorrection ( const G4int  AParent,
const G4int  ZParent 
) const
inline

Computes correction on the emission Q-value.

Computes the correction that must be applied to INCL particles in order to obtain the correct Q-value for particle emission from a given nucleus. For absorption, the correction is obviously equal to minus the value returned by this function.

Parameters
AParentthe mass number of the emitting nucleus
ZParentthe charge number of the emitting nucleus
Returns
the correction

Definition at line 465 of file G4INCLParticle.hh.

References G4INCL::ParticleTable::getINCLMass(), getINCLMass(), G4INCL::ParticleTable::getTableMass, getTableMass(), G4INCL::ParticleTable::getTableQValue(), isCluster(), theA, and theZ.

Referenced by G4INCL::Nucleus::emitInsidePions(), G4INCL::ParticleEntryChannel::getFinalState(), G4INCL::TransmissionChannel::getFinalState(), G4INCL::SurfaceAvatar::getTransmissionProbability(), and G4INCL::TransmissionChannel::initializeKineticEnergyOutside().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::Particle::getEmissionTime ( )
inline

Definition at line 645 of file G4INCLParticle.hh.

References emissionTime.

G4double G4INCL::Particle::getFrozenEnergy ( ) const
inline

Get the frozen particle momentum.

Definition at line 682 of file G4INCLParticle.hh.

References theFrozenEnergy.

ThreeVector G4INCL::Particle::getFrozenMomentum ( ) const
inline

Get the frozen particle momentum.

Definition at line 679 of file G4INCLParticle.hh.

References theFrozenMomentum.

G4double G4INCL::Particle::getHelicity ( )
inline

Definition at line 606 of file G4INCLParticle.hh.

References theHelicity.

Referenced by G4INCL::DeltaDecayChannel::sampleAngles().

+ Here is the caller graph for this function:

long G4INCL::Particle::getID ( ) const
inline
G4double G4INCL::Particle::getINCLMass ( ) const
inline

Get the INCL particle mass.

Definition at line 359 of file G4INCLParticle.hh.

References G4INCL::Composite, G4INCL::DeltaMinus, G4INCL::DeltaPlus, G4INCL::DeltaPlusPlus, G4INCL::DeltaZero, G4INCL::ParticleTable::getINCLMass(), INCL_ERROR, G4INCL::Neutron, G4INCL::PiMinus, G4INCL::PiPlus, G4INCL::PiZero, G4INCL::Proton, theA, theMass, theType, and theZ.

Referenced by getEmissionQValueCorrection(), G4INCL::ParticleEntryChannel::getFinalState(), and setINCLMass().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::Particle::getInvariantMass ( ) const
inline

Get the the particle invariant mass.

Uses the relativistic invariant

\[ m = \sqrt{E^2 - {\vec p}^2}\]

Definition at line 528 of file G4INCLParticle.hh.

References G4INCL::ThreeVector::dot(), INCL_ERROR, theEnergy, and theMomentum.

Referenced by G4INCL::Nucleus::finalizeProjectileRemnant(), and Particle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ThreeVector G4INCL::Particle::getLongitudinalPosition ( ) const
inline

Longitudinal component of the position w.r.t.

the momentum.

Definition at line 653 of file G4INCLParticle.hh.

References G4INCL::ThreeVector::dot(), G4INCL::ThreeVector::mag2(), thePosition, and thePropagationMomentum.

Referenced by G4INCL::CoulombNonRelativistic::coulombDeviation(), and getTransversePosition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4INCL::ThreeVector& G4INCL::Particle::getMomentum ( ) const
inline

Get the momentum vector.

Definition at line 574 of file G4INCLParticle.hh.

References theMomentum.

Referenced by G4INCL::Cluster::addParticle(), G4INCL::ClusteringModelIntercomparison::clusterCanEscape(), G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::Nucleus::computeRecoilKinematics(), G4INCL::CoulombNonRelativistic::coulombDeviation(), G4INCL::Nucleus::decayOutgoingDeltas(), G4INCL::Nucleus::fillEventInfo(), G4INCL::PauliStandard::getBlockingProbability(), G4INCL::ClusteringModelIntercomparison::getCluster(), G4INCL::Nucleus::getConservationBalance(), G4INCL::DeltaProductionChannel::getFinalState(), G4INCL::PionNucleonChannel::getFinalState(), G4INCL::ReflectionChannel::getFinalState(), G4INCL::ParticleEntryChannel::getFinalState(), G4INCL::ElasticChannel::getFinalState(), G4INCL::KinematicsUtils::getLocalEnergy(), G4INCL::ProjectileRemnant::getStoredMomentum(), G4INCL::SurfaceAvatar::getTransmissionProbability(), G4INCL::KinematicsUtils::makeBoostVector(), G4INCL::INCL::makeCompoundNucleus(), G4INCL::KinematicsUtils::momentumInCM(), G4INCL::ParticleEntryChannel::particleEnters(), G4INCL::TransmissionChannel::particleLeaves(), G4INCL::BinaryCollisionAvatar::postInteraction(), G4INCL::InteractionAvatar::preInteraction(), G4INCL::StandardPropagationModel::putSpectatorsOnShell(), G4INCL::INCL::RecoilCMFunctor::RecoilCMFunctor(), G4INCL::INCL::RecoilFunctor::RecoilFunctor(), G4INCL::ProjectileRemnant::removeParticle(), G4INCL::ParticleSampler::sampleParticles(), G4INCL::StandardPropagationModel::shootComposite(), and G4INCL::StandardPropagationModel::shootParticle().

+ Here is the caller graph for this function:

G4int G4INCL::Particle::getNumberOfCollisions ( ) const
inline

Return the number of collisions undergone by the particle.

Definition at line 614 of file G4INCLParticle.hh.

References nCollisions.

Referenced by G4INCL::Cluster::addParticle().

+ Here is the caller graph for this function:

G4int G4INCL::Particle::getNumberOfDecays ( ) const
inline

Return the number of decays undergone by the particle.

Definition at line 623 of file G4INCLParticle.hh.

References nDecays.

ParticipantType G4INCL::Particle::getParticipantType ( ) const
inline

Definition at line 256 of file G4INCLParticle.hh.

References theParticipantType.

Referenced by G4INCL::StandardPropagationModel::generateBinaryCollisionAvatar().

+ Here is the caller graph for this function:

ParticleList const* G4INCL::Particle::getParticles ( ) const
inline

Return a NULL pointer.

Definition at line 753 of file G4INCLParticle.hh.

References INCL_WARN.

Referenced by G4INCL::StandardPropagationModel::putSpectatorsOnShell().

+ Here is the caller graph for this function:

ThreeVector G4INCL::Particle::getPropagationVelocity ( ) const
inline

Get the propagation velocity of the particle.

Definition at line 685 of file G4INCLParticle.hh.

References thePropagationMomentum.

Referenced by G4INCL::CoulombNone::bringToSurface(), G4INCL::StandardPropagationModel::getReflectionTime(), and G4INCL::StandardPropagationModel::getTime().

+ Here is the caller graph for this function:

G4double G4INCL::Particle::getRealMass ( ) const
inline

Get the real particle mass.

Definition at line 417 of file G4INCLParticle.hh.

References G4INCL::Composite, G4INCL::DeltaMinus, G4INCL::DeltaPlus, G4INCL::DeltaPlusPlus, G4INCL::DeltaZero, G4INCL::ParticleTable::getRealMass(), INCL_ERROR, G4INCL::Neutron, G4INCL::PiMinus, G4INCL::PiPlus, G4INCL::PiZero, G4INCL::Proton, theA, theMass, theType, and theZ.

Referenced by G4INCL::Cluster::getTableMass(), and setRealMass().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::Particle::getReflectionMomentum ( ) const
inline

Return the reflection momentum.

The reflection momentum is used by calls to getSurfaceRadius to compute the radius of the sphere where the nucleon moves. It is necessary to introduce fuzzy r-p correlations.

Definition at line 764 of file G4INCLParticle.hh.

References G4INCL::ThreeVector::mag(), rpCorrelated, theMomentum, and uncorrelatedMomentum.

Referenced by G4INCL::KinematicsUtils::getLocalEnergy(), and G4INCL::Nucleus::getSurfaceRadius().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual G4INCL::ParticleSpecies G4INCL::Particle::getSpecies ( ) const
inlinevirtual

Get the particle species.

Reimplemented in G4INCL::Cluster.

Definition at line 192 of file G4INCLParticle.hh.

References theType.

Referenced by G4INCL::CoulombNonRelativistic::coulombDeviation(), G4INCL::CoulombDistortion::maxImpactParameter(), G4INCL::CoulombNonRelativistic::minimumDistance(), and G4INCL::StandardPropagationModel::shootParticle().

+ Here is the caller graph for this function:

virtual G4double G4INCL::Particle::getTableMass ( ) const
inlinevirtual
G4double G4INCL::Particle::getTransferQValueCorrection ( const G4int  AFrom,
const G4int  ZFrom,
const G4int  ATo,
const G4int  ZTo 
) const
inline

Computes correction on the transfer Q-value.

Computes the correction that must be applied to INCL particles in order to obtain the correct Q-value for particle transfer from a given nucleus to another.

Assumes that the receving nucleus is INCL's target nucleus, with the INCL separation energy.

Parameters
AFromthe mass number of the donating nucleus
ZFromthe charge number of the donating nucleus
ATothe mass number of the receiving nucleus
ZTothe charge number of the receiving nucleus
Returns
the correction

Definition at line 503 of file G4INCLParticle.hh.

References G4INCL::ParticleTable::getINCLMass(), getTableMass(), G4INCL::ParticleTable::getTableQValue(), theA, and theZ.

+ Here is the call graph for this function:

ThreeVector G4INCL::Particle::getTransversePosition ( ) const
inline

Transverse component of the position w.r.t.

the momentum.

Definition at line 648 of file G4INCLParticle.hh.

References getLongitudinalPosition(), and thePosition.

Referenced by G4INCL::CoulombNonRelativistic::coulombDeviation(), G4INCL::StandardPropagationModel::shootComposite(), and G4INCL::StandardPropagationModel::shootParticle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4INCL::Particle::getZ ( ) const
inline

Returns the charge number.

Definition at line 304 of file G4INCLParticle.hh.

References theZ.

Referenced by G4INCL::ProjectileRemnant::addDynamicalSpectator(), G4INCL::Cluster::addParticle(), G4INCL::CoulombNonRelativistic::bringToSurface(), G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::ClusterDecay::decay(), G4INCL::CoulombNonRelativistic::distortOut(), G4INCL::Nucleus::emitInsidePions(), G4INCL::Nucleus::fillEventInfo(), G4INCL::Nucleus::finalizeProjectileRemnant(), G4INCL::ClusteringModelIntercomparison::findClusterStartingFrom(), G4INCL::PauliStandard::getBlockingProbability(), G4INCL::ClusteringModelIntercomparison::getCluster(), G4INCL::Nucleus::getConservationBalance(), G4INCL::CoulombNonRelativistic::getCoulombRadius(), G4INCL::ParticleEntryChannel::getFinalState(), G4INCL::TransmissionChannel::getFinalState(), G4INCL::Nucleus::getTransmissionBarrier(), G4INCL::SurfaceAvatar::getTransmissionProbability(), G4INCL::NuclearDensity::getTransmissionRadius(), G4INCL::TransmissionChannel::initializeKineticEnergyOutside(), G4INCL::Nucleus::insertParticle(), G4INCL::ClusterDecay::isStable(), G4INCL::CoulombNonRelativistic::minimumDistance(), G4INCL::INCL::preCascade(), G4INCL::ProjectileRemnant::removeParticle(), G4INCL::INCL::RecoilCMFunctor::scaleParticleCMMomenta(), G4INCL::INCL::RecoilFunctor::scaleParticleEnergies(), G4INCL::StandardPropagationModel::shootComposite(), and G4INCL::StandardPropagationModel::shootParticle().

+ Here is the caller graph for this function:

void G4INCL::Particle::incrementNumberOfCollisions ( )
inline

Increment the number of collisions undergone by the particle.

Definition at line 620 of file G4INCLParticle.hh.

References nCollisions.

void G4INCL::Particle::incrementNumberOfDecays ( )
inline

Increment the number of decays undergone by the particle.

Definition at line 629 of file G4INCLParticle.hh.

References nDecays.

G4bool G4INCL::Particle::isCluster ( ) const
inline

Definition at line 668 of file G4INCLParticle.hh.

References G4INCL::Composite, and theType.

Referenced by getEmissionQValueCorrection(), and G4INCL::SurfaceAvatar::postInteraction().

+ Here is the caller graph for this function:

G4bool G4INCL::Particle::isInList ( ParticleList const &  l) const
inline

Check if the particle belongs to a given list.

Definition at line 664 of file G4INCLParticle.hh.

G4bool G4INCL::Particle::isOutOfWell ( ) const
inline

Check if the particle is out of its potential well.

Definition at line 642 of file G4INCLParticle.hh.

References outOfWell.

Referenced by G4INCL::NuclearPotential::INuclearPotential::computePionPotentialEnergy().

+ Here is the caller graph for this function:

G4bool G4INCL::Particle::isParticipant ( ) const
inline

Definition at line 264 of file G4INCLParticle.hh.

References G4INCL::Participant, and theParticipantType.

Referenced by G4INCL::StandardPropagationModel::generateBinaryCollisionAvatar().

+ Here is the caller graph for this function:

G4bool G4INCL::Particle::isPion ( ) const
inline
G4bool G4INCL::Particle::isProjectileSpectator ( ) const
inline

Definition at line 272 of file G4INCLParticle.hh.

References G4INCL::ProjectileSpectator, and theParticipantType.

Referenced by G4INCL::SurfaceAvatar::getChannel().

+ Here is the caller graph for this function:

G4bool G4INCL::Particle::isResonance ( ) const
inline

Is it a resonance?

Definition at line 292 of file G4INCLParticle.hh.

References isDelta().

Referenced by G4INCL::StandardPropagationModel::generateBinaryCollisionAvatar(), G4INCL::SurfaceAvatar::getChannel(), Particle(), G4INCL::CDPP::processOneParticle(), and setType().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4INCL::Particle::isTargetSpectator ( ) const
inline

Definition at line 268 of file G4INCLParticle.hh.

References G4INCL::TargetSpectator, and theParticipantType.

Referenced by G4INCL::SurfaceAvatar::getChannel(), G4INCL::Nucleus::insertParticle(), G4INCL::SurfaceAvatar::postInteraction(), and G4INCL::BinaryCollisionAvatar::preInteraction().

+ Here is the caller graph for this function:

void G4INCL::Particle::lorentzContract ( const ThreeVector aBoostVector,
const ThreeVector refPos 
)
inline

Lorentz-contract the particle position around some center.

Apply Lorentz contraction to the position component along the direction of the boost vector.

Parameters
aBoostVectorthe boost vector (velocity) [c]
refPosthe reference position

Definition at line 345 of file G4INCLParticle.hh.

References G4INCL::ThreeVector::dot(), G4INCL::ThreeVector::mag2(), and thePosition.

+ Here is the call graph for this function:

virtual void G4INCL::Particle::makeParticipant ( )
inlinevirtual

Reimplemented in G4INCL::Cluster.

Definition at line 276 of file G4INCLParticle.hh.

References G4INCL::Participant, and theParticipantType.

Referenced by G4INCL::Store::loadParticles(), and G4INCL::Cluster::makeParticipant().

+ Here is the caller graph for this function:

virtual void G4INCL::Particle::makeProjectileSpectator ( )
inlinevirtual

Reimplemented in G4INCL::Cluster.

Definition at line 284 of file G4INCLParticle.hh.

References G4INCL::ProjectileSpectator, and theParticipantType.

Referenced by G4INCL::Cluster::makeProjectileSpectator(), and G4INCL::StandardPropagationModel::shootParticle().

+ Here is the caller graph for this function:

virtual void G4INCL::Particle::makeTargetSpectator ( )
inlinevirtual

Reimplemented in G4INCL::Cluster.

Definition at line 280 of file G4INCLParticle.hh.

References G4INCL::TargetSpectator, and theParticipantType.

Referenced by G4INCL::Cluster::makeTargetSpectator().

+ Here is the caller graph for this function:

Particle& G4INCL::Particle::operator= ( const Particle rhs)
inline

Assignment operator.

Does not copy the particle ID.

Definition at line 177 of file G4INCLParticle.hh.

References swap().

Referenced by G4INCL::Cluster::operator=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::string G4INCL::Particle::print ( ) const
inline

Definition at line 720 of file G4INCLParticle.hh.

References G4INCL::ParticleTable::getName(), ID, G4INCL::ThreeVector::print(), theEnergy, theMomentum, thePosition, and theType.

Referenced by adjustMomentumFromEnergy(), G4INCL::Nucleus::emitInsidePions(), G4INCL::BinaryCollisionAvatar::getChannel(), G4INCL::ParticleEntryChannel::getFinalState(), G4INCL::KinematicsUtils::getLocalEnergy(), G4INCL::StandardPropagationModel::getReflectionTime(), and G4INCL::ProjectileRemnant::removeParticle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::Particle::propagate ( G4double  step)
inline

Definition at line 609 of file G4INCLParticle.hh.

References thePosition.

Referenced by G4INCL::StandardPropagationModel::generateBinaryCollisionAvatar().

+ Here is the caller graph for this function:

virtual void G4INCL::Particle::rotate ( const G4double  angle,
const ThreeVector axis 
)
inlinevirtual

Rotate the particle position and momentum.

Parameters
anglethe rotation angle
axisa unit vector representing the rotation axis

Reimplemented in G4INCL::Cluster.

Definition at line 714 of file G4INCLParticle.hh.

References G4INCL::ThreeVector::rotate(), theFrozenMomentum, theMomentum, and thePosition.

Referenced by G4INCL::CoulombNonRelativistic::coulombDeviation(), and G4INCL::Cluster::rotate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::Particle::rpCorrelate ( )
inline

Make the particle follow a strict r-p correlation.

Definition at line 775 of file G4INCLParticle.hh.

References rpCorrelated.

Referenced by G4INCL::InteractionAvatar::bringParticleInside(), G4INCL::ParticleEntryAvatar::postInteraction(), and G4INCL::SurfaceAvatar::postInteraction().

+ Here is the caller graph for this function:

void G4INCL::Particle::rpDecorrelate ( )
inline

Make the particle not follow a strict r-p correlation.

Definition at line 778 of file G4INCLParticle.hh.

References rpCorrelated.

void G4INCL::Particle::setEmissionTime ( G4double  t)
inline

Definition at line 644 of file G4INCLParticle.hh.

References emissionTime.

Referenced by G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::Nucleus::decayOutgoingDeltas(), G4INCL::Nucleus::emitInsidePions(), and G4INCL::Nucleus::finalizeProjectileRemnant().

+ Here is the caller graph for this function:

void G4INCL::Particle::setFrozenEnergy ( const G4double  energy)
inline

Set the frozen particle momentum.

Definition at line 676 of file G4INCLParticle.hh.

References G4INCL::KinematicsUtils::energy(), and theFrozenEnergy.

+ Here is the call graph for this function:

void G4INCL::Particle::setFrozenMomentum ( const ThreeVector momentum)
inline

Set the frozen particle momentum.

Definition at line 673 of file G4INCLParticle.hh.

References theFrozenMomentum.

void G4INCL::Particle::setHelicity ( G4double  h)
inline

Definition at line 607 of file G4INCLParticle.hh.

References theHelicity.

Referenced by G4INCL::DeltaProductionChannel::getFinalState(), and G4INCL::DeltaDecayChannel::getFinalState().

+ Here is the caller graph for this function:

void G4INCL::Particle::setINCLMass ( )
inline

Set the mass of the Particle to its table mass.

Definition at line 452 of file G4INCLParticle.hh.

References getINCLMass(), and setMass().

Referenced by G4INCL::Cluster::Cluster(), G4INCL::ParticleEntryChannel::particleEnters(), setType(), and G4INCL::StandardPropagationModel::shootParticle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::Particle::setMass ( G4double  mass)
inline
void G4INCL::Particle::setNumberOfCollisions ( G4int  n)
inline

Set the number of collisions undergone by the particle.

Definition at line 617 of file G4INCLParticle.hh.

References n, and nCollisions.

void G4INCL::Particle::setNumberOfDecays ( G4int  n)
inline

Set the number of decays undergone by the particle.

Definition at line 626 of file G4INCLParticle.hh.

References n, and nDecays.

void G4INCL::Particle::setOutOfWell ( )
inline

Mark the particle as out of its potential well.

This flag is used to control pions created outside their potential well in delta decay. The pion potential checks it and returns zero if it is true (necessary in order to correctly enforce energy conservation). The Nucleus::applyFinalState() method uses it to determine whether new avatars should be generated for the particle.

Definition at line 639 of file G4INCLParticle.hh.

References outOfWell.

void G4INCL::Particle::setParticipantType ( ParticipantType const  p)
inline

Definition at line 260 of file G4INCLParticle.hh.

References theParticipantType.

virtual void G4INCL::Particle::setPosition ( const G4INCL::ThreeVector position)
inlinevirtual
void G4INCL::Particle::setPotentialEnergy ( G4double  v)
inline

Set the particle potential energy.

Definition at line 545 of file G4INCLParticle.hh.

References thePotentialEnergy.

Referenced by G4INCL::Nucleus::emitInsidePions(), G4INCL::Store::loadParticles(), G4INCL::ParticleEntryChannel::particleEnters(), G4INCL::TransmissionChannel::particleLeaves(), and G4INCL::Nucleus::updatePotentialEnergy().

+ Here is the caller graph for this function:

void G4INCL::Particle::setRealMass ( )
inline

Set the mass of the Particle to its real mass.

Definition at line 446 of file G4INCLParticle.hh.

References getRealMass(), and setMass().

Referenced by G4INCL::ClusterDecay::decay().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::Particle::setTableMass ( )
inline

Set the mass of the Particle to its table mass.

Definition at line 449 of file G4INCLParticle.hh.

References getTableMass(), and setMass().

Referenced by G4INCL::Nucleus::decayOutgoingDeltas(), G4INCL::Nucleus::emitInsidePions(), G4INCL::TransmissionChannel::particleLeaves(), G4INCL::ProjectileRemnant::ProjectileRemnant(), and G4INCL::ProjectileRemnant::reset().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::Particle::setType ( ParticleType  t)
inline

Definition at line 196 of file G4INCLParticle.hh.

References G4INCL::Composite, G4INCL::DeltaMinus, G4INCL::DeltaPlus, G4INCL::DeltaPlusPlus, G4INCL::DeltaZero, INCL_ERROR, isResonance(), G4INCL::Neutron, G4INCL::PiMinus, G4INCL::PiPlus, G4INCL::PiZero, G4INCL::Proton, setINCLMass(), theA, theType, theZ, and G4INCL::UnknownParticle.

Referenced by G4INCL::Cluster::Cluster(), G4INCL::ClusterDecay::decay(), G4INCL::DeltaProductionChannel::getFinalState(), G4INCL::PionNucleonChannel::getFinalState(), G4INCL::ElasticChannel::getFinalState(), G4INCL::DeltaDecayChannel::getFinalState(), G4INCL::RecombinationChannel::getFinalState(), and Particle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::Particle::setUncorrelatedMomentum ( const G4double  p)
inline

Set the uncorrelated momentum.

Definition at line 772 of file G4INCLParticle.hh.

References uncorrelatedMomentum.

Referenced by G4INCL::ParticleSampler::sampleOneParticleWithFuzzyRPCorrelation(), and G4INCL::ParticleSampler::sampleOneParticleWithRPCorrelation().

+ Here is the caller graph for this function:

void G4INCL::Particle::swap ( Particle rhs)
inlineprotected

Helper method for the assignment operator.

Definition at line 139 of file G4INCLParticle.hh.

References emissionTime, nCollisions, nDecays, outOfWell, rpCorrelated, theA, theEnergy, theFrozenEnergy, theFrozenMomentum, theHelicity, theMass, theMomentum, theParticipantType, thePosition, thePotentialEnergy, thePropagationEnergy, thePropagationMomentum, theType, theZ, and uncorrelatedMomentum.

Referenced by operator=(), and G4INCL::Cluster::swap().

+ Here is the caller graph for this function:

void G4INCL::Particle::thawPropagation ( )
inline

Unfreeze particle propagation.

Make the particle use theMomentum and theEnergy for propagation. Call this method to restore the normal propagation if the freezePropagation() method has been called.

Definition at line 704 of file G4INCLParticle.hh.

References theEnergy, theMomentum, thePropagationEnergy, and thePropagationMomentum.

Referenced by G4INCL::ReflectionChannel::getFinalState().

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4INCL::Particle::emissionTime
private

Definition at line 810 of file G4INCLParticle.hh.

Referenced by getEmissionTime(), setEmissionTime(), and swap().

long G4INCL::Particle::ID
protected

Definition at line 803 of file G4INCLParticle.hh.

Referenced by dump(), getID(), Particle(), G4INCL::Cluster::print(), and print().

G4int G4INCL::Particle::nDecays
protected
G4ThreadLocal long G4INCL::Particle::nextID = 1
staticprivate

Definition at line 814 of file G4INCLParticle.hh.

Referenced by Particle().

G4bool G4INCL::Particle::outOfWell
private

Definition at line 811 of file G4INCLParticle.hh.

Referenced by isOutOfWell(), setOutOfWell(), and swap().

G4bool G4INCL::Particle::rpCorrelated
protected

Definition at line 805 of file G4INCLParticle.hh.

Referenced by getReflectionMomentum(), rpCorrelate(), rpDecorrelate(), and swap().

G4double G4INCL::Particle::theFrozenEnergy
protected
G4INCL::ThreeVector G4INCL::Particle::theFrozenMomentum
protected
G4double G4INCL::Particle::theHelicity
private

Definition at line 809 of file G4INCLParticle.hh.

Referenced by getHelicity(), setHelicity(), and swap().

G4double G4INCL::Particle::thePotentialEnergy
protected
G4double* G4INCL::Particle::thePropagationEnergy
protected

Definition at line 794 of file G4INCLParticle.hh.

Referenced by freezePropagation(), Particle(), swap(), and thawPropagation().

G4INCL::ThreeVector* G4INCL::Particle::thePropagationMomentum
protected
G4double G4INCL::Particle::uncorrelatedMomentum
protected

Definition at line 806 of file G4INCLParticle.hh.

Referenced by getReflectionMomentum(), setUncorrelatedMomentum(), and swap().


The documentation for this class was generated from the following files: