Geant4  10.02
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 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 rotatePositionAndMomentum (const G4double angle, const ThreeVector &axis)
 Rotate the particle position and momentum. More...
 
virtual void rotatePosition (const G4double angle, const ThreeVector &axis)
 Rotate the particle position. More...
 
virtual void rotateMomentum (const G4double angle, const ThreeVector &axis)
 Rotate the particle 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 Member Functions

 INCL_DECLARE_ALLOCATION_POOL (Particle)
 

Private Attributes

G4double theHelicity
 
G4double emissionTime
 
G4bool outOfWell
 
G4double theMass
 

Static Private Attributes

static G4ThreadLocal long nextID = 1
 

Detailed Description

Definition at line 73 of file G4INCLParticle.hh.

Constructor & Destructor Documentation

G4INCL::Particle::Particle ( )

Definition at line 52 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 77 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 103 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 78 of file G4INCLParticle.hh.

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

Copy constructor.

Does not copy the particle ID.

Definition at line 84 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 142 of file G4INCLParticle.cc.

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

Referenced by G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::Nucleus::computeRecoilKinematics(), G4INCL::Nucleus::decayOutgoingDeltas(), G4INCL::DeltaDecayChannel::fillFinalState(), G4INCL::RecombinationChannel::fillFinalState(), G4INCL::PhaseSpaceKopylov::generate(), and G4INCL::PhaseSpaceRauboldLynch::generateEvent().

+ 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 129 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 306 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::Nucleus::decayOutgoingDeltas(), G4INCL::PhaseSpaceKopylov::generate(), 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 296 of file G4INCLParticle.hh.

References theEnergy, and theMomentum.

Referenced by G4INCL::PhaseSpaceKopylov::generate(), 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 727 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 667 of file G4INCLParticle.hh.

References theFrozenEnergy, theFrozenMomentum, thePropagationEnergy, and thePropagationMomentum.

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

Returns the baryon number.

Definition at line 280 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::ParticleEntryChannel::fillFinalState(), G4INCL::TransmissionChannel::fillFinalState(), G4INCL::Nucleus::finalizeProjectileRemnant(), G4INCL::ClusteringModelIntercomparison::findClusterStartingFrom(), G4INCL::PauliStandard::getBlockingProbability(), G4INCL::ClusteringModelIntercomparison::getCluster(), G4INCL::Nucleus::getConservationBalance(), G4INCL::CoulombNonRelativistic::getCoulombRadius(), G4INCL::SurfaceAvatar::getTransmissionProbability(), G4INCL::NuclearDensity::getTransmissionRadius(), G4INCL::TransmissionChannel::initializeKineticEnergyOutside(), G4INCL::Nucleus::insertParticle(), G4INCL::ClusterDecay::isStable(), G4INCL::INCL::postCascade(), 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 559 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 285 of file G4INCLParticle.hh.

References G4INCL::ThreeVector::mag(), P, 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 773 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 444 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::fillFinalState(), G4INCL::TransmissionChannel::fillFinalState(), 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 624 of file G4INCLParticle.hh.

References emissionTime.

Referenced by G4INCL::Nucleus::decayOutgoingDeltas().

+ Here is the caller graph for this function:

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

Get the frozen particle momentum.

Definition at line 656 of file G4INCLParticle.hh.

References theFrozenEnergy.

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

Get the frozen particle momentum.

Definition at line 653 of file G4INCLParticle.hh.

References theFrozenMomentum.

G4double G4INCL::Particle::getHelicity ( )
inline

Definition at line 585 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 338 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 G4INCL::ParticleEntryChannel::fillFinalState(), getEmissionQValueCorrection(), 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 507 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 632 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:

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

Get the momentum vector.

Definition at line 553 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::PiNElasticChannel::fillFinalState(), G4INCL::PiNToDeltaChannel::fillFinalState(), G4INCL::DeltaProductionChannel::fillFinalState(), G4INCL::ReflectionChannel::fillFinalState(), G4INCL::ParticleEntryChannel::fillFinalState(), G4INCL::ElasticChannel::fillFinalState(), G4INCL::PauliStandard::getBlockingProbability(), G4INCL::ClusteringModelIntercomparison::getCluster(), G4INCL::Nucleus::getConservationBalance(), 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::INCL::RecoilCMFunctor::RecoilCMFunctor(), G4INCL::INCL::RecoilFunctor::RecoilFunctor(), G4INCL::ProjectileRemnant::removeParticle(), G4INCL::ParticleSampler::sampleParticlesIntoList(), 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 593 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 602 of file G4INCLParticle.hh.

References nDecays.

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

Definition at line 235 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 745 of file G4INCLParticle.hh.

References INCL_WARN.

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

Get the propagation velocity of the particle.

Definition at line 659 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 396 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 756 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 171 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 482 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 627 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:

G4INCL::ParticleType G4INCL::Particle::getType ( ) const
inline

Get the particle type.

See also
G4INCL::ParticleType

Definition at line 166 of file G4INCLParticle.hh.

References theType.

Referenced by G4INCL::NuclearPotential::INuclearPotential::computePionPotentialEnergy(), G4INCL::NuclearPotential::NuclearPotentialIsospin::computePotentialEnergy(), G4INCL::NuclearPotential::NuclearPotentialConstant::computePotentialEnergy(), G4INCL::CrossSectionsINCL46::elasticNNLegacy(), G4INCL::PiNElasticChannel::fillFinalState(), G4INCL::PiNToMultiPionsChannel::fillFinalState(), G4INCL::NNToMultiPionsChannel::fillFinalState(), G4INCL::DeltaProductionChannel::fillFinalState(), G4INCL::DeltaDecayChannel::fillFinalState(), G4INCL::ElasticChannel::fillFinalState(), G4INCL::RecombinationChannel::fillFinalState(), G4INCL::PauliStandard::getBlockingProbability(), G4INCL::NuclearPotential::INuclearPotential::getFermiEnergy(), G4INCL::NuclearPotential::INuclearPotential::getFermiMomentum(), G4INCL::KinematicsUtils::getLocalEnergy(), G4INCL::NuclearPotential::INuclearPotential::getSeparationEnergy(), G4INCL::Nucleus::getSurfaceRadius(), G4INCL::NuclearDensity::getTransmissionRadius(), G4INCL::Nucleus::insertParticle(), G4INCL::ParticleConfig::isPair(), G4INCL::CrossSectionsINCL46::NDeltaToNN(), G4INCL::CrossSectionsMultiPions::NDeltaToNN(), G4INCL::CrossSectionsMultiPions::NNElastic(), G4INCL::CrossSectionsMultiPions::NNOnePi(), G4INCL::CrossSectionsMultiPions::NNOnePiOrDelta(), G4INCL::CrossSectionsMultiPions::NNThreePi(), G4INCL::CrossSectionsINCL46::NNToNDelta(), G4INCL::CrossSectionsMultiPions::NNToNDelta(), G4INCL::CrossSectionsMultiPions::NNTot(), G4INCL::CrossSectionsMultiPions::NNTwoPi(), G4INCL::CrossSectionsMultiPions::piNIne(), G4INCL::CrossSectionsMultiPions::piNOnePi(), G4INCL::CrossSectionsINCL46::piNToDelta(), G4INCL::CrossSectionsMultiPions::piNToDelta(), G4INCL::CrossSectionsMultiPions::piNTot(), and G4INCL::CrossSectionsMultiPions::piNTwoPi().

+ Here is the caller graph for this function:

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

Returns the charge number.

Definition at line 283 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::ParticleEntryChannel::fillFinalState(), G4INCL::TransmissionChannel::fillFinalState(), G4INCL::Nucleus::finalizeProjectileRemnant(), G4INCL::ClusteringModelIntercomparison::findClusterStartingFrom(), G4INCL::PauliStandard::getBlockingProbability(), G4INCL::ClusteringModelIntercomparison::getCluster(), G4INCL::Nucleus::getConservationBalance(), G4INCL::CoulombNonRelativistic::getCoulombRadius(), 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:

G4INCL::Particle::INCL_DECLARE_ALLOCATION_POOL ( Particle  )
private
void G4INCL::Particle::incrementNumberOfCollisions ( )
inline

Increment the number of collisions undergone by the particle.

Definition at line 599 of file G4INCLParticle.hh.

References nCollisions.

void G4INCL::Particle::incrementNumberOfDecays ( )
inline

Increment the number of decays undergone by the particle.

Definition at line 608 of file G4INCLParticle.hh.

References nDecays.

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

Definition at line 642 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::isOutOfWell ( ) const
inline

Check if the particle is out of its potential well.

Definition at line 621 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 243 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::isProjectileSpectator ( ) const
inline

Definition at line 251 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 271 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 247 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 324 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 255 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 263 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 259 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 156 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 712 of file G4INCLParticle.hh.

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

Referenced by adjustMomentumFromEnergy(), G4INCL::Nucleus::emitInsidePions(), G4INCL::ParticleEntryChannel::fillFinalState(), G4INCL::BinaryCollisionAvatar::getChannel(), G4INCL::KinematicsUtils::getLocalEnergy(), G4INCL::StandardPropagationModel::getReflectionTime(), G4INCL::ParticleEntryChannel::particleEnters(), G4INCL::CrossSectionsMultiPions::piNTot(), 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 588 of file G4INCLParticle.hh.

References thePosition.

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

+ Here is the caller graph for this function:

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

Rotate the particle momentum.

Parameters
anglethe rotation angle
axisa unit vector representing the rotation axis

Reimplemented in G4INCL::Cluster.

Definition at line 707 of file G4INCLParticle.hh.

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

Referenced by G4INCL::Cluster::rotateMomentum(), and rotatePositionAndMomentum().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Rotate the particle position.

Parameters
anglethe rotation angle
axisa unit vector representing the rotation axis

Reimplemented in G4INCL::Cluster.

Definition at line 698 of file G4INCLParticle.hh.

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

Referenced by G4INCL::Cluster::rotatePosition(), and rotatePositionAndMomentum().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Rotate the particle position and momentum.

Parameters
anglethe rotation angle
axisa unit vector representing the rotation axis

Definition at line 688 of file G4INCLParticle.hh.

References rotateMomentum(), and rotatePosition().

Referenced by G4INCL::CoulombNonRelativistic::coulombDeviation().

+ 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 767 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 770 of file G4INCLParticle.hh.

References rpCorrelated.

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

Definition at line 623 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::setEnergy ( G4double  energy)
inline
void G4INCL::Particle::setFrozenEnergy ( const G4double  energy)
inline

Set the frozen particle momentum.

Definition at line 650 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 647 of file G4INCLParticle.hh.

References theFrozenMomentum.

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

Definition at line 586 of file G4INCLParticle.hh.

References theHelicity.

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

+ 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 431 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

Set the mass of the particle in MeV/c^2.

Definition at line 537 of file G4INCLParticle.hh.

References theMass.

Referenced by G4INCL::Nucleus::computeRecoilKinematics(), G4INCL::PiNToDeltaChannel::fillFinalState(), G4INCL::DeltaProductionChannel::fillFinalState(), G4INCL::Nucleus::finalizeProjectileRemnant(), G4INCL::PhaseSpaceKopylov::generate(), G4INCL::INCL::makeCompoundNucleus(), Particle(), setINCLMass(), setRealMass(), setTableMass(), and G4INCL::Nucleus::useFusionKinematics().

+ Here is the caller graph for this function:

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

Set the number of collisions undergone by the particle.

Definition at line 596 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 605 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 618 of file G4INCLParticle.hh.

References outOfWell.

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

Definition at line 239 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 524 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 425 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 428 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::setUncorrelatedMomentum ( const G4double  p)
inline

Set the uncorrelated momentum.

Definition at line 764 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 118 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 678 of file G4INCLParticle.hh.

References theEnergy, theMomentum, thePropagationEnergy, and thePropagationMomentum.

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

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4INCL::Particle::emissionTime
private

Definition at line 802 of file G4INCLParticle.hh.

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

long G4INCL::Particle::ID
protected

Definition at line 795 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 806 of file G4INCLParticle.hh.

Referenced by Particle().

G4bool G4INCL::Particle::outOfWell
private

Definition at line 803 of file G4INCLParticle.hh.

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

G4bool G4INCL::Particle::rpCorrelated
protected

Definition at line 797 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 801 of file G4INCLParticle.hh.

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

G4double* G4INCL::Particle::thePropagationEnergy
protected

Definition at line 786 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 798 of file G4INCLParticle.hh.

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


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