53 {
54
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
82 if(isNN) {
83
85
86
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 const G4double theProjectileExcitationEnergy =
118 (projectileRemnant->getA()-theParticle->
getA()>1) ?
119 (projectileRemnant->computeExcitationEnergy(theParticle->
getID())) :
120 0.;
121 const G4double theProjectileEffectiveMass =
123 + theProjectileExcitationEnergy;
124 const ThreeVector &theProjectileMomentum = projectileRemnant->getMomentum() - theParticle->
getMomentum();
125 const G4double theProjectileEnergy = std::sqrt(theProjectileMomentum.mag2() + theProjectileEffectiveMass*theProjectileEffectiveMass);
126 const G4double theProjectileCorrection = theProjectileEnergy - (projectileRemnant->getEnergy() - theParticle->
getEnergy());
128 theNucleus->
getA() + theParticle->
getA(),
129 theNucleus->
getZ() + theParticle->
getZ())
131 + theProjectileCorrection;
132
133 projectileRemnant->removeParticle(theParticle, theProjectileCorrection);
134 } else {
137
139 DEBUG(
"The following Particle enters with correction " << theCorrection
140 << theParticle->
print() << std::endl);
141 }
142
144 G4bool success = particleEnters(theCorrection);
145 FinalState *fs = new FinalState();
146 fs->addEnteringParticle(theParticle);
147
148 if(!success) {
149 fs->makeParticleBelowZero();
152
153
154 fs->makeParticleBelowFermi();
155 }
156
157 fs->setTotalEnergyBeforeInteraction(energyBefore);
158 return fs;
159 }
G4double getFermiEnergy(const Particle *const p) const
Return the Fermi energy for a particle.
NuclearPotential::INuclearPotential * getPotential() const
Getter for thePotential.
ProjectileRemnant * getProjectileRemnant() const
Get the projectile remnant.
G4bool isNucleusNucleusCollision() const
Is it a nucleus-nucleus collision?
static NuclearMassFn getTableMass
Static pointer to the mass function for nuclei.
G4double getINCLMass() const
Get the INCL particle mass.
G4double getEmissionQValueCorrection(const G4int AParent, const G4int ZParent) const
Computes correction on the emission Q-value.
G4double getEnergy() const
G4int getZ() const
Returns the charge number.
G4double getKineticEnergy() const
Get the particle kinetic energy.
const G4INCL::ThreeVector & getMomentum() const
virtual G4double getTableMass() const
Get the tabulated particle mass.
std::string print() const
G4int getA() const
Returns the baryon number.