Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
|
#include <G4INCLProjectileRemnant.hh>
Public Types | |
typedef std::vector< G4double > | EnergyLevels |
typedef std::map< long, G4double > | EnergyLevelMap |
Public Member Functions | |
ProjectileRemnant (ParticleSpecies const &species, const G4double kineticEnergy) | |
~ProjectileRemnant () | |
void | reset () |
Reset the projectile remnant to the state at the beginning of the cascade. | |
void | removeParticle (Particle *const p, const G4double theProjectileCorrection) |
Remove a nucleon from the projectile remnant. | |
ParticleList | addDynamicalSpectators (ParticleList pL) |
Add back dynamical spectators to the projectile remnant. | |
ParticleList | addMostDynamicalSpectators (ParticleList pL) |
Add back dynamical spectators to the projectile remnant. | |
ParticleList | addAllDynamicalSpectators (ParticleList const &pL) |
Add back all dynamical spectators to the projectile remnant. | |
void | deleteStoredComponents () |
Clear the stored projectile components and delete the particles. | |
void | clearStoredComponents () |
Clear the stored projectile components. | |
void | clearEnergyLevels () |
Clear the stored energy levels. | |
G4double | computeExcitationEnergyExcept (const long exceptID) const |
Compute the excitation energy when a nucleon is removed. | |
G4double | computeExcitationEnergyWith (const ParticleList &pL) const |
Compute the excitation energy if some nucleons are put back. | |
void | storeComponents () |
Store the projectile components. | |
G4int | getNumberStoredComponents () const |
Get the number of the stored components. | |
void | storeEnergyLevels () |
Store the energy levels. | |
EnergyLevels const & | getGroundStateEnergies () const |
Public Member Functions inherited from G4INCL::Cluster | |
Cluster (const G4int Z, const G4int A, const G4int S, const G4bool createParticleSampler=true) | |
Standard Cluster constructor. | |
template<class Iterator > | |
Cluster (Iterator begin, Iterator end) | |
virtual | ~Cluster () |
Cluster (const Cluster &rhs) | |
Copy constructor. | |
Cluster & | operator= (const Cluster &rhs) |
Assignment operator. | |
void | swap (Cluster &rhs) |
Helper method for the assignment operator. | |
ParticleSpecies | getSpecies () const |
Get the particle species. | |
void | deleteParticles () |
void | clearParticles () |
void | setZ (const G4int Z) |
Set the charge number of the cluster. | |
void | setA (const G4int A) |
Set the mass number of the cluster. | |
void | setS (const G4int S) |
Set the strangess number of the cluster. | |
G4double | getExcitationEnergy () const |
Get the excitation energy of the cluster. | |
void | setExcitationEnergy (const G4double e) |
Set the excitation energy of the cluster. | |
virtual G4double | getTableMass () const |
Get the real particle mass. | |
ParticleList const & | getParticles () const |
void | removeParticle (Particle *const p) |
Remove a particle from the cluster components. | |
void | addParticle (Particle *const p) |
void | updateClusterParameters () |
Set total cluster mass, energy, size, etc. from the particles. | |
void | addParticles (ParticleList const &pL) |
Add a list of particles to the cluster. | |
ParticleList | getParticleList () const |
Returns the list of particles that make up the cluster. | |
std::string | print () const |
virtual void | initializeParticles () |
Initialise the NuclearDensity pointer and sample the particles. | |
void | internalBoostToCM () |
Boost to the CM of the component particles. | |
void | putParticlesOffShell () |
Put the cluster components off shell. | |
void | setPosition (const ThreeVector &position) |
Set the position of the cluster. | |
void | boost (const ThreeVector &aBoostVector) |
Boost the cluster with the indicated velocity. | |
void | freezeInternalMotion () |
Freeze the internal motion of the particles. | |
virtual void | rotatePosition (const G4double angle, const ThreeVector &axis) |
Rotate position of all the particles. | |
virtual void | rotateMomentum (const G4double angle, const ThreeVector &axis) |
Rotate momentum of all the particles. | |
virtual void | makeProjectileSpectator () |
Make all the components projectile spectators, too. | |
virtual void | makeTargetSpectator () |
Make all the components target spectators, too. | |
virtual void | makeParticipant () |
Make all the components participants, too. | |
ThreeVector const & | getSpin () const |
Get the spin of the nucleus. | |
void | setSpin (const ThreeVector &j) |
Set the spin of the nucleus. | |
G4INCL::ThreeVector | getAngularMomentum () const |
Get the total angular momentum (orbital + spin) | |
Public Member Functions inherited from G4INCL::Particle | |
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. | |
Particle & | operator= (const Particle &rhs) |
Assignment operator. | |
G4INCL::ParticleType | getType () const |
void | setType (ParticleType t) |
G4bool | isNucleon () const |
ParticipantType | getParticipantType () const |
void | setParticipantType (ParticipantType const p) |
G4bool | isParticipant () const |
G4bool | isTargetSpectator () const |
G4bool | isProjectileSpectator () const |
G4bool | isPion () const |
Is this a pion? | |
G4bool | isEta () const |
Is this an eta? | |
G4bool | isOmega () const |
Is this an omega? | |
G4bool | isEtaPrime () const |
Is this an etaprime? | |
G4bool | isPhoton () const |
Is this a photon? | |
G4bool | isResonance () const |
Is it a resonance? | |
G4bool | isDelta () const |
Is it a Delta? | |
G4bool | isSigma () const |
Is this a Sigma? | |
G4bool | isKaon () const |
Is this a Kaon? | |
G4bool | isAntiKaon () const |
Is this an antiKaon? | |
G4bool | isLambda () const |
Is this a Lambda? | |
G4bool | isNucleonorLambda () const |
Is this a Nucleon or a Lambda? | |
G4bool | isHyperon () const |
Is this an Hyperon? | |
G4bool | isMeson () const |
Is this a Meson? | |
G4bool | isBaryon () const |
Is this a Baryon? | |
G4bool | isStrange () const |
Is this a Strange? | |
G4bool | isXi () const |
Is this a Xi? | |
G4bool | isAntiNucleon () const |
Is this an antinucleon? | |
G4bool | isAntiSigma () const |
Is this an antiSigma? | |
G4bool | isAntiXi () const |
Is this an antiXi? | |
G4bool | isAntiLambda () const |
Is this an antiLambda? | |
G4bool | isAntiHyperon () const |
Is this an antiHyperon? | |
G4bool | isAntiBaryon () const |
Is this an antiBaryon? | |
G4bool | isAntiNucleonorAntiLambda () const |
Is this an antiNucleon or an antiLambda? | |
G4int | getA () const |
Returns the baryon number. | |
G4int | getZ () const |
Returns the charge number. | |
G4int | getS () const |
Returns the strangeness number. | |
G4double | getBeta () const |
ThreeVector | boostVector () const |
void | boost (const ThreeVector &aBoostVector) |
void | lorentzContract (const ThreeVector &aBoostVector, const ThreeVector &refPos) |
Lorentz-contract the particle position around some center. | |
G4double | getMass () const |
Get the cached particle mass. | |
G4double | getINCLMass () const |
Get the INCL particle mass. | |
G4double | getRealMass () const |
Get the real particle mass. | |
void | setRealMass () |
Set the mass of the Particle to its real mass. | |
void | setTableMass () |
Set the mass of the Particle to its table mass. | |
void | setINCLMass () |
Set the mass of the Particle to its table mass. | |
G4double | getEmissionQValueCorrection (const G4int AParent, const G4int ZParent) const |
Computes correction on the emission Q-value. | |
G4double | getEmissionPbarQvalueCorrection (const G4int AParent, const G4int ZParent, const G4bool Victim) const |
G4double | getTransferQValueCorrection (const G4int AFrom, const G4int ZFrom, const G4int ATo, const G4int ZTo) const |
Computes correction on the transfer Q-value. | |
G4double | getEmissionQValueCorrection (const G4int AParent, const G4int ZParent, const G4int SParent) const |
Computes correction on the emission Q-value for hypernuclei. | |
G4double | getTransferQValueCorrection (const G4int AFrom, const G4int ZFrom, const G4int SFrom, const G4int ATo, const G4int ZTo, const G4int STo) const |
Computes correction on the transfer Q-value for hypernuclei. | |
G4double | getInvariantMass () const |
Get the the particle invariant mass. | |
G4double | getKineticEnergy () const |
Get the particle kinetic energy. | |
G4double | getPotentialEnergy () const |
Get the particle potential energy. | |
void | setPotentialEnergy (G4double v) |
Set the particle potential energy. | |
G4double | getEnergy () const |
void | setMass (G4double mass) |
void | setEnergy (G4double energy) |
const G4INCL::ThreeVector & | getMomentum () const |
virtual void | setMomentum (const G4INCL::ThreeVector &momentum) |
const G4INCL::ThreeVector & | getPosition () const |
G4double | getHelicity () |
void | setHelicity (G4double h) |
void | propagate (G4double step) |
G4int | getNumberOfCollisions () const |
Return the number of collisions undergone by the particle. | |
void | setNumberOfCollisions (G4int n) |
Set the number of collisions undergone by the particle. | |
void | incrementNumberOfCollisions () |
Increment the number of collisions undergone by the particle. | |
G4int | getNumberOfDecays () const |
Return the number of decays undergone by the particle. | |
void | setNumberOfDecays (G4int n) |
Set the number of decays undergone by the particle. | |
void | incrementNumberOfDecays () |
Increment the number of decays undergone by the particle. | |
void | setOutOfWell () |
Mark the particle as out of its potential well. | |
G4bool | isOutOfWell () const |
Check if the particle is out of its potential well. | |
void | setEmissionTime (G4double t) |
G4double | getEmissionTime () |
ThreeVector | getTransversePosition () const |
Transverse component of the position w.r.t. the momentum. | |
ThreeVector | getLongitudinalPosition () const |
Longitudinal component of the position w.r.t. the momentum. | |
const ThreeVector & | adjustMomentumFromEnergy () |
Rescale the momentum to match the total energy. | |
G4double | adjustEnergyFromMomentum () |
Recompute the energy to match the momentum. | |
G4bool | isCluster () const |
void | setFrozenMomentum (const ThreeVector &momentum) |
Set the frozen particle momentum. | |
void | setFrozenEnergy (const G4double energy) |
Set the frozen particle momentum. | |
ThreeVector | getFrozenMomentum () const |
Get the frozen particle momentum. | |
G4double | getFrozenEnergy () const |
Get the frozen particle momentum. | |
ThreeVector | getPropagationVelocity () const |
Get the propagation velocity of the particle. | |
void | freezePropagation () |
Freeze particle propagation. | |
void | thawPropagation () |
Unfreeze particle propagation. | |
virtual void | rotatePositionAndMomentum (const G4double angle, const ThreeVector &axis) |
Rotate the particle position and momentum. | |
std::string | print () const |
std::string | dump () const |
long | getID () const |
ParticleList const * | getParticles () const |
G4double | getReflectionMomentum () const |
Return the reflection momentum. | |
void | setUncorrelatedMomentum (const G4double p) |
Set the uncorrelated momentum. | |
void | rpCorrelate () |
Make the particle follow a strict r-p correlation. | |
void | rpDecorrelate () |
Make the particle not follow a strict r-p correlation. | |
G4double | getCosRPAngle () const |
Get the cosine of the angle between position and momentum. | |
G4double | getParticleBias () const |
Get the particle bias. | |
void | setParticleBias (G4double ParticleBias) |
Set the particle bias. | |
std::vector< G4int > | getBiasCollisionVector () const |
Get the vector list of biased vertices on the particle path. | |
void | setBiasCollisionVector (std::vector< G4int > BiasCollisionVector) |
Set the vector list of biased vertices on the particle path. | |
G4int | getNumberOfKaon () const |
Number of Kaon inside de nucleus. | |
void | setNumberOfKaon (const G4int NK) |
G4int | getParentResonancePDGCode () const |
void | setParentResonancePDGCode (const G4int parentPDGCode) |
G4int | getParentResonanceID () const |
void | setParentResonanceID (const G4int parentID) |
Definition at line 58 of file G4INCLProjectileRemnant.hh.
std::map<long, G4double> G4INCL::ProjectileRemnant::EnergyLevelMap |
Definition at line 63 of file G4INCLProjectileRemnant.hh.
std::vector<G4double> G4INCL::ProjectileRemnant::EnergyLevels |
Definition at line 62 of file G4INCLProjectileRemnant.hh.
|
inline |
Definition at line 65 of file G4INCLProjectileRemnant.hh.
|
inline |
Definition at line 96 of file G4INCLProjectileRemnant.hh.
ParticleList G4INCL::ProjectileRemnant::addAllDynamicalSpectators | ( | ParticleList const & | pL | ) |
Add back all dynamical spectators to the projectile remnant.
Return a list of rejected dynamical spectators.
Definition at line 145 of file G4INCLProjectileRemnant.cc.
ParticleList G4INCL::ProjectileRemnant::addDynamicalSpectators | ( | ParticleList | pL | ) |
Add back dynamical spectators to the projectile remnant.
Try to add the dynamical spectators back to the projectile remnant. Refuse to do so if this leads to a negative projectile excitation energy.
Return a list of rejected dynamical spectators.
Definition at line 122 of file G4INCLProjectileRemnant.cc.
ParticleList G4INCL::ProjectileRemnant::addMostDynamicalSpectators | ( | ParticleList | pL | ) |
Add back dynamical spectators to the projectile remnant.
Try as hard as possible to add back all the dynamical spectators. Don't add spectators that lead to negative excitation energies. Start by adding all of them, and repeatedly remove the most troublesome one until the excitation energy becomes non-negative.
Return a list of rejected dynamical spectators.
Definition at line 195 of file G4INCLProjectileRemnant.cc.
Referenced by addAllDynamicalSpectators().
|
inline |
Clear the stored energy levels.
Definition at line 153 of file G4INCLProjectileRemnant.hh.
Referenced by ~ProjectileRemnant().
|
inline |
Clear the stored projectile components.
Definition at line 148 of file G4INCLProjectileRemnant.hh.
Referenced by deleteStoredComponents().
G4double G4INCL::ProjectileRemnant::computeExcitationEnergyExcept | ( | const long | exceptID | ) | const |
Compute the excitation energy when a nucleon is removed.
Compute the excitation energy of the projectile-like remnant as the difference between the initial and the present configuration. This follows the algorithm proposed by A. Boudard in INCL4.2-HI, as implemented in Geant4.
Definition at line 326 of file G4INCLProjectileRemnant.cc.
Referenced by G4INCL::ParticleEntryChannel::fillFinalState().
G4double G4INCL::ProjectileRemnant::computeExcitationEnergyWith | ( | const ParticleList & | pL | ) | const |
Compute the excitation energy if some nucleons are put back.
Definition at line 331 of file G4INCLProjectileRemnant.cc.
Referenced by addAllDynamicalSpectators().
|
inline |
Clear the stored projectile components and delete the particles.
Definition at line 141 of file G4INCLProjectileRemnant.hh.
Referenced by ~ProjectileRemnant().
|
inline |
Definition at line 207 of file G4INCLProjectileRemnant.hh.
|
inline |
Get the number of the stored components.
Definition at line 184 of file G4INCLProjectileRemnant.hh.
void G4INCL::ProjectileRemnant::removeParticle | ( | Particle *const | p, |
const G4double | theProjectileCorrection ) |
Remove a nucleon from the projectile remnant.
p | particle to be removed |
theProjectileCorrection | correction to be given to the projectile total energy |
Definition at line 76 of file G4INCLProjectileRemnant.cc.
Referenced by G4INCL::ParticleEntryChannel::fillFinalState().
void G4INCL::ProjectileRemnant::reset | ( | ) |
Reset the projectile remnant to the state at the beginning of the cascade.
Definition at line 51 of file G4INCLProjectileRemnant.cc.
|
inline |
Store the projectile components.
Definition at line 176 of file G4INCLProjectileRemnant.hh.
Referenced by G4INCL::StandardPropagationModel::shootComposite().
|
inline |
Store the energy levels.
Definition at line 189 of file G4INCLProjectileRemnant.hh.
Referenced by ProjectileRemnant().