52 {
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
84 if(isNN) {
85
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119 const G4double theProjectileExcitationEnergy =
120 (projectileRemnant->getA()-theParticle->
getA()>1) ?
121 (projectileRemnant->computeExcitationEnergyExcept(theParticle->
getID())) :
122 0.;
123
124
125
126
127 const G4double theProjectileEffectiveMass =
129 + theProjectileExcitationEnergy;
130 const ThreeVector &theProjectileMomentum = projectileRemnant->getMomentum() - theParticle->
getMomentum();
131 const G4double theProjectileEnergy = std::sqrt(theProjectileMomentum.mag2() + theProjectileEffectiveMass*theProjectileEffectiveMass);
132 const G4double theProjectileCorrection = theProjectileEnergy - (projectileRemnant->getEnergy() - theParticle->
getEnergy());
134 theNucleus->
getA() + theParticle->
getA(),
135 theNucleus->
getZ() + theParticle->
getZ(),
136 theNucleus->
getS() + theParticle->
getS())
138 + theProjectileCorrection;
139
140
141
142 projectileRemnant->removeParticle(theParticle, theProjectileCorrection);
143 } else {
147
150 INCL_DEBUG(
"The following Particle enters with correction " << theCorrection <<
'\n'
151 << theParticle->
print() <<
'\n');
152 }
153
155 G4bool success = particleEnters(theCorrection);
156 fs->addEnteringParticle(theParticle);
157
158 if(!success) {
159 fs->makeParticleBelowZero();
162
163
164 fs->makeParticleBelowFermi();
166
167 fs->setTotalEnergyBeforeInteraction(energyBefore);
168 }
G4double getFermiEnergy(const Particle *const p) const
Return the Fermi energy for a particle.
ProjectileRemnant * getProjectileRemnant() const
Get the projectile remnant.
G4bool isNucleusNucleusCollision() const
Is it a nucleus-nucleus collision?
NuclearPotential::INuclearPotential const * getPotential() const
Getter for thePotential.
G4double getINCLMass() const
Get the INCL particle mass.
G4int getS() const
Returns the strangeness number.
G4double getEmissionQValueCorrection(const G4int AParent, const G4int ZParent) const
Computes correction on the emission Q-value.
void setNumberOfKaon(const G4int NK)
G4double getEnergy() const
G4bool isNucleonorLambda() const
Is this a Nucleon or a Lambda?
G4int getZ() const
Returns the charge number.
G4double getKineticEnergy() const
Get the particle kinetic energy.
const G4INCL::ThreeVector & getMomentum() const
G4bool isKaon() const
Is this a Kaon?
G4int getNumberOfKaon() const
Number of Kaon inside de nucleus.
virtual G4double getTableMass() const
Get the tabulated particle mass.
std::string print() const
G4int getA() const
Returns the baryon number.
G4ThreadLocal NuclearMassFn getTableMass
Static pointer to the mass function for nuclei.