Geant4
10.02.p03
|
#include <G4INCLNucleus.hh>
Classes | |
struct | ConservationBalance |
Struct for conservation laws. More... | |
Public Member Functions | |
Nucleus (G4int mass, G4int charge, Config const *const conf, const G4double universeRadius=-1.) | |
virtual | ~Nucleus () |
Nucleus (const Nucleus &rhs) | |
Dummy copy constructor to silence Coverity warning. More... | |
Nucleus & | operator= (const Nucleus &rhs) |
Dummy assignment operator to silence Coverity warning. More... | |
void | initializeParticles () |
void | insertParticle (Particle *p) |
Insert a new particle (e.g. a projectile) in the nucleus. More... | |
void | applyFinalState (FinalState *) |
G4int | getInitialA () const |
G4int | getInitialZ () const |
void | propagateParticles (G4double step) |
G4int | getNumberOfEnteringProtons () const |
G4int | getNumberOfEnteringNeutrons () const |
G4double | computeSeparationEnergyBalance () const |
Outgoing - incoming separation energies. More... | |
G4bool | decayOutgoingDeltas () |
Force the decay of outgoing deltas. More... | |
G4bool | decayInsideDeltas () |
Force the decay of deltas inside the nucleus. More... | |
G4bool | decayOutgoingClusters () |
Force the decay of unstable outgoing clusters. More... | |
G4bool | decayMe () |
Force the phase-space decay of the Nucleus. More... | |
void | emitInsidePions () |
Force emission of all pions inside the nucleus. More... | |
void | computeRecoilKinematics () |
Compute the recoil momentum and spin of the nucleus. More... | |
ThreeVector | computeCenterOfMass () const |
Compute the current center-of-mass position. More... | |
G4double | computeTotalEnergy () const |
Compute the current total energy. More... | |
G4double | computeExcitationEnergy () const |
Compute the current excitation energy. More... | |
void | setIncomingAngularMomentum (const ThreeVector &j) |
Set the incoming angular-momentum vector. More... | |
const ThreeVector & | getIncomingAngularMomentum () const |
Get the incoming angular-momentum vector. More... | |
void | setIncomingMomentum (const ThreeVector &p) |
Set the incoming momentum vector. More... | |
const ThreeVector & | getIncomingMomentum () const |
Get the incoming momentum vector. More... | |
void | setInitialEnergy (const G4double e) |
Set the initial energy. More... | |
G4double | getInitialEnergy () const |
Get the initial energy. More... | |
G4double | getExcitationEnergy () const |
Get the excitation energy of the nucleus. More... | |
G4bool | containsDeltas () |
Returns true if the nucleus contains any deltas. More... | |
std::string | print () |
Store * | getStore () const |
void | setStore (Store *s) |
G4double | getInitialInternalEnergy () const |
G4bool | isEventTransparent () const |
Is the event transparent? More... | |
G4bool | hasRemnant () const |
Does the nucleus give a cascade remnant? More... | |
void | fillEventInfo (EventInfo *eventInfo) |
G4bool | getTryCompoundNucleus () |
G4double | getTransmissionBarrier (Particle const *const p) |
Get the transmission barrier. More... | |
ConservationBalance | getConservationBalance (EventInfo const &theEventInfo, const G4bool afterRecoil) const |
Compute charge, mass, energy and momentum balance. More... | |
void | useFusionKinematics () |
Adjust the kinematics for complete-fusion events. More... | |
G4double | getSurfaceRadius (Particle const *const particle) const |
Get the maximum allowed radius for a given particle. More... | |
G4double | getUniverseRadius () const |
Getter for theUniverseRadius. More... | |
void | setUniverseRadius (const G4double universeRadius) |
Setter for theUniverseRadius. More... | |
G4bool | isNucleusNucleusCollision () const |
Is it a nucleus-nucleus collision? More... | |
void | setNucleusNucleusCollision () |
Set a nucleus-nucleus collision. More... | |
void | setParticleNucleusCollision () |
Set a particle-nucleus collision. More... | |
void | setProjectileRemnant (ProjectileRemnant *const c) |
Set the projectile remnant. More... | |
ProjectileRemnant * | getProjectileRemnant () const |
Get the projectile remnant. More... | |
void | deleteProjectileRemnant () |
Delete the projectile remnant. More... | |
void | finalizeProjectileRemnant (const G4double emissionTime) |
Finalise the projectile remnant. More... | |
void | updatePotentialEnergy (Particle *p) const |
Update the particle potential energy. More... | |
void | setDensity (NuclearDensity const *const d) |
Setter for theDensity. More... | |
NuclearDensity const * | getDensity () const |
Getter for theDensity. More... | |
NuclearPotential::INuclearPotential const * | getPotential () const |
Getter for thePotential. More... | |
![]() | |
Cluster (const G4int Z, const G4int A, const G4bool createParticleSampler=true) | |
Standard Cluster constructor. More... | |
template<class Iterator > | |
Cluster (Iterator begin, Iterator end) | |
virtual | ~Cluster () |
Cluster (const Cluster &rhs) | |
Copy constructor. More... | |
Cluster & | operator= (const Cluster &rhs) |
Assignment operator. More... | |
void | swap (Cluster &rhs) |
Helper method for the assignment operator. More... | |
ParticleSpecies | getSpecies () const |
void | deleteParticles () |
void | clearParticles () |
void | setZ (const G4int Z) |
Set the charge number of the cluster. More... | |
void | setA (const G4int A) |
Set the mass number of the cluster. More... | |
G4double | getExcitationEnergy () const |
Get the excitation energy of the cluster. More... | |
void | setExcitationEnergy (const G4double e) |
Set the excitation energy of the cluster. More... | |
virtual G4double | getTableMass () const |
Get the real particle mass. More... | |
ParticleList const & | getParticles () const |
void | removeParticle (Particle *const p) |
Remove a particle from the cluster components. More... | |
void | addParticle (Particle *const p) |
void | updateClusterParameters () |
Set total cluster mass, energy, size, etc. from the particles. More... | |
void | addParticles (ParticleList const &pL) |
Add a list of particles to the cluster. More... | |
ParticleList | getParticleList () const |
Returns the list of particles that make up the cluster. More... | |
std::string | print () const |
void | internalBoostToCM () |
Boost to the CM of the component particles. More... | |
void | putParticlesOffShell () |
Put the cluster components off shell. More... | |
void | setPosition (const ThreeVector &position) |
Set the position of the cluster. More... | |
void | boost (const ThreeVector &aBoostVector) |
Boost the cluster with the indicated velocity. More... | |
void | freezeInternalMotion () |
Freeze the internal motion of the particles. More... | |
virtual void | rotatePosition (const G4double angle, const ThreeVector &axis) |
Rotate position of all the particles. More... | |
virtual void | rotateMomentum (const G4double angle, const ThreeVector &axis) |
Rotate momentum of all the particles. More... | |
virtual void | makeProjectileSpectator () |
Make all the components projectile spectators, too. More... | |
virtual void | makeTargetSpectator () |
Make all the components target spectators, too. More... | |
virtual void | makeParticipant () |
Make all the components participants, too. More... | |
ThreeVector const & | getSpin () const |
Get the spin of the nucleus. More... | |
void | setSpin (const ThreeVector &j) |
Set the spin of the nucleus. More... | |
G4INCL::ThreeVector | getAngularMomentum () const |
Get the total angular momentum (orbital + spin) More... | |
![]() | |
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... | |
Particle & | operator= (const Particle &rhs) |
Assignment operator. More... | |
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? 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 |
void | boost (const ThreeVector &aBoostVector) |
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... | |
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 |
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. 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. the momentum. More... | |
ThreeVector | getLongitudinalPosition () const |
Longitudinal component of the position w.r.t. the momentum. More... | |
const ThreeVector & | adjustMomentumFromEnergy () |
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... | |
std::string | print () const |
std::string | dump () const |
long | getID () const |
ParticleList const * | getParticles () const |
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... | |
Private Member Functions | |
void | computeOneNucleonRecoilKinematics () |
Compute the recoil kinematics for a 1-nucleon remnant. More... | |
INCL_DECLARE_ALLOCATION_POOL (Nucleus) | |
Private Attributes | |
G4int | theInitialZ |
G4int | theInitialA |
G4int | theNpInitial |
The number of entering protons. More... | |
G4int | theNnInitial |
The number of entering neutrons. More... | |
G4double | initialInternalEnergy |
ThreeVector | incomingAngularMomentum |
ThreeVector | incomingMomentum |
ThreeVector | initialCenterOfMass |
G4bool | remnant |
G4double | initialEnergy |
Store * | theStore |
G4bool | tryCN |
G4int | projectileZ |
The charge number of the projectile. More... | |
G4int | projectileA |
The mass number of the projectile. More... | |
G4double | theUniverseRadius |
The radius of the universe. More... | |
G4bool | isNucleusNucleus |
true if running a nucleus-nucleus collision More... | |
ProjectileRemnant * | theProjectileRemnant |
Pointer to the quasi-projectile. More... | |
NuclearDensity const * | theDensity |
Pointer to the NuclearDensity object. More... | |
NuclearPotential::INuclearPotential const * | thePotential |
Pointer to the NuclearPotential object. More... | |
Additional Inherited Members | |
![]() | |
INCL_DECLARE_ALLOCATION_POOL (Cluster) | |
![]() | |
void | swap (Particle &rhs) |
Helper method for the assignment operator. More... | |
![]() | |
ParticleList | particles |
G4double | theExcitationEnergy |
ThreeVector | theSpin |
ParticleSampler * | theParticleSampler |
![]() | |
G4int | theZ |
G4int | theA |
ParticipantType | theParticipantType |
G4INCL::ParticleType | theType |
G4double | theEnergy |
G4double * | thePropagationEnergy |
G4double | theFrozenEnergy |
G4INCL::ThreeVector | theMomentum |
G4INCL::ThreeVector * | thePropagationMomentum |
G4INCL::ThreeVector | theFrozenMomentum |
G4INCL::ThreeVector | thePosition |
G4int | nCollisions |
G4int | nDecays |
G4double | thePotentialEnergy |
long | ID |
G4bool | rpCorrelated |
G4double | uncorrelatedMomentum |
Definition at line 65 of file G4INCLNucleus.hh.
G4INCL::Nucleus::Nucleus | ( | G4int | mass, |
G4int | charge, | ||
Config const *const | conf, | ||
const G4double | universeRadius = -1. |
||
) |
Definition at line 65 of file G4INCLNucleus.cc.
|
virtual |
Definition at line 107 of file G4INCLNucleus.cc.
G4INCL::Nucleus::Nucleus | ( | const Nucleus & | rhs | ) |
Dummy copy constructor to silence Coverity warning.
void G4INCL::Nucleus::applyFinalState | ( | FinalState * | finalstate | ) |
Apply reaction final state information to the nucleus.
Definition at line 131 of file G4INCLNucleus.cc.
ThreeVector G4INCL::Nucleus::computeCenterOfMass | ( | ) | const |
Compute the current center-of-mass position.
Definition at line 259 of file G4INCLNucleus.cc.
G4double G4INCL::Nucleus::computeExcitationEnergy | ( | ) | const |
Compute the current excitation energy.
Definition at line 272 of file G4INCLNucleus.cc.
|
private |
Compute the recoil kinematics for a 1-nucleon remnant.
Puts the remnant nucleon on mass shell and tries to enforce approximate energy conservation by modifying the masses of the outgoing particles.
Definition at line 494 of file G4INCLNucleus.cc.
void G4INCL::Nucleus::computeRecoilKinematics | ( | ) |
Compute the recoil momentum and spin of the nucleus.
Definition at line 226 of file G4INCLNucleus.cc.
|
inline |
Outgoing - incoming separation energies.
Used by CDPP.
Definition at line 116 of file G4INCLNucleus.hh.
G4double G4INCL::Nucleus::computeTotalEnergy | ( | ) | const |
Compute the current total energy.
Definition at line 212 of file G4INCLNucleus.cc.
|
inline |
Returns true if the nucleus contains any deltas.
Definition at line 231 of file G4INCLNucleus.hh.
G4bool G4INCL::Nucleus::decayInsideDeltas | ( | ) |
Force the decay of deltas inside the nucleus.
Definition at line 351 of file G4INCLNucleus.cc.
G4bool G4INCL::Nucleus::decayMe | ( | ) |
Force the phase-space decay of the Nucleus.
Only applied if Z==0 or Z==A.
Definition at line 430 of file G4INCLNucleus.cc.
G4bool G4INCL::Nucleus::decayOutgoingClusters | ( | ) |
Force the decay of unstable outgoing clusters.
Definition at line 407 of file G4INCLNucleus.cc.
G4bool G4INCL::Nucleus::decayOutgoingDeltas | ( | ) |
Force the decay of outgoing deltas.
Definition at line 299 of file G4INCLNucleus.cc.
|
inline |
Delete the projectile remnant.
Definition at line 337 of file G4INCLNucleus.hh.
void G4INCL::Nucleus::emitInsidePions | ( | ) |
Force emission of all pions inside the nucleus.
Definition at line 442 of file G4INCLNucleus.cc.
void G4INCL::Nucleus::fillEventInfo | ( | EventInfo * | eventInfo | ) |
Fill the event info which contains INCL output data
Definition at line 650 of file G4INCLNucleus.cc.
void G4INCL::Nucleus::finalizeProjectileRemnant | ( | const G4double | emissionTime | ) |
Finalise the projectile remnant.
Complete the treatment of the projectile remnant. If it contains nucleons, assign its excitation energy and spin. Move stuff to the outgoing list, if appropriate.
emissionTime | the emission time of the projectile remnant |
Definition at line 834 of file G4INCLNucleus.cc.
Nucleus::ConservationBalance G4INCL::Nucleus::getConservationBalance | ( | EventInfo const & | theEventInfo, |
const G4bool | afterRecoil | ||
) | const |
Compute charge, mass, energy and momentum balance.
Definition at line 782 of file G4INCLNucleus.cc.
|
inline |
Getter for theDensity.
Definition at line 365 of file G4INCLNucleus.hh.
|
inline |
Get the excitation energy of the nucleus.
Method computeRecoilKinematics() should be called first.
Definition at line 228 of file G4INCLNucleus.hh.
|
inline |
Get the incoming angular-momentum vector.
Definition at line 206 of file G4INCLNucleus.hh.
|
inline |
Get the incoming momentum vector.
Definition at line 214 of file G4INCLNucleus.hh.
|
inline |
|
inline |
Get the initial energy.
Definition at line 222 of file G4INCLNucleus.hh.
|
inline |
Definition at line 249 of file G4INCLNucleus.hh.
|
inline |
Definition at line 100 of file G4INCLNucleus.hh.
|
inline |
Definition at line 110 of file G4INCLNucleus.hh.
|
inline |
Definition at line 109 of file G4INCLNucleus.hh.
|
inline |
Getter for thePotential.
Definition at line 368 of file G4INCLNucleus.hh.
|
inline |
Get the projectile remnant.
Definition at line 334 of file G4INCLNucleus.hh.
|
inline |
Get the maximum allowed radius for a given particle.
Calls the NuclearDensity::getMaxRFromP() method for nucleons and deltas, and the NuclearDensity::getTrasmissionRadius() method for pions.
particle | pointer to a particle |
Definition at line 298 of file G4INCLNucleus.hh.
Get the transmission barrier.
Definition at line 271 of file G4INCLNucleus.hh.
|
inline |
|
inline |
Getter for theUniverseRadius.
Definition at line 313 of file G4INCLNucleus.hh.
|
inline |
Does the nucleus give a cascade remnant?
To be called after computeRecoilKinematics().
Definition at line 261 of file G4INCLNucleus.hh.
|
private |
|
virtual |
Call the Cluster method to generate the initial distribution of particles. At the beginning all particles are assigned as spectators.
Reimplemented from G4INCL::Cluster.
Definition at line 116 of file G4INCLNucleus.cc.
|
inline |
Insert a new particle (e.g. a projectile) in the nucleus.
Definition at line 83 of file G4INCLNucleus.hh.
G4bool G4INCL::Nucleus::isEventTransparent | ( | ) | const |
Is the event transparent?
To be called at the end of the cascade.
Definition at line 481 of file G4INCLNucleus.cc.
|
inline |
Is it a nucleus-nucleus collision?
Definition at line 319 of file G4INCLNucleus.hh.
Dummy assignment operator to silence Coverity warning.
std::string G4INCL::Nucleus::print | ( | ) |
Print the nucleus info
Definition at line 279 of file G4INCLNucleus.cc.
void G4INCL::Nucleus::propagateParticles | ( | G4double | step | ) |
Propagate the particles one time step.
step | length of the time step |
Definition at line 208 of file G4INCLNucleus.cc.
|
inline |
Setter for theDensity.
Definition at line 358 of file G4INCLNucleus.hh.
|
inline |
Set the incoming angular-momentum vector.
Definition at line 201 of file G4INCLNucleus.hh.
|
inline |
Set the incoming momentum vector.
Definition at line 209 of file G4INCLNucleus.hh.
|
inline |
Set the initial energy.
Definition at line 219 of file G4INCLNucleus.hh.
|
inline |
Set a nucleus-nucleus collision.
Definition at line 322 of file G4INCLNucleus.hh.
|
inline |
Set a particle-nucleus collision.
Definition at line 325 of file G4INCLNucleus.hh.
|
inline |
Set the projectile remnant.
Definition at line 328 of file G4INCLNucleus.hh.
|
inline |
Definition at line 244 of file G4INCLNucleus.hh.
|
inline |
Setter for theUniverseRadius.
Definition at line 316 of file G4INCLNucleus.hh.
|
inline |
Update the particle potential energy.
Definition at line 353 of file G4INCLNucleus.hh.
void G4INCL::Nucleus::useFusionKinematics | ( | ) |
Adjust the kinematics for complete-fusion events.
Definition at line 826 of file G4INCLNucleus.cc.
|
private |
Definition at line 385 of file G4INCLNucleus.hh.
|
private |
Definition at line 385 of file G4INCLNucleus.hh.
|
private |
Definition at line 386 of file G4INCLNucleus.hh.
|
private |
Definition at line 389 of file G4INCLNucleus.hh.
|
private |
Definition at line 384 of file G4INCLNucleus.hh.
|
private |
true if running a nucleus-nucleus collision
Tells INCL whether to make a projectile-like pre-fragment or not.
Definition at line 405 of file G4INCLNucleus.hh.
|
private |
The mass number of the projectile.
Definition at line 396 of file G4INCLNucleus.hh.
|
private |
The charge number of the projectile.
Definition at line 394 of file G4INCLNucleus.hh.
|
private |
Definition at line 387 of file G4INCLNucleus.hh.
|
private |
Pointer to the NuclearDensity object.
Definition at line 414 of file G4INCLNucleus.hh.
|
private |
Definition at line 379 of file G4INCLNucleus.hh.
|
private |
Definition at line 379 of file G4INCLNucleus.hh.
|
private |
The number of entering neutrons.
Definition at line 383 of file G4INCLNucleus.hh.
|
private |
The number of entering protons.
Definition at line 381 of file G4INCLNucleus.hh.
|
private |
Pointer to the NuclearPotential object.
Definition at line 417 of file G4INCLNucleus.hh.
|
private |
Pointer to the quasi-projectile.
Owned by the Nucleus object.
Definition at line 411 of file G4INCLNucleus.hh.
|
private |
Definition at line 390 of file G4INCLNucleus.hh.
|
private |
The radius of the universe.
Definition at line 399 of file G4INCLNucleus.hh.
|
private |
Definition at line 391 of file G4INCLNucleus.hh.