49 G4int G4LowEIonFragmentation::hits = 0;
50 G4int G4LowEIonFragmentation::totalTries = 0;
51 G4double G4LowEIonFragmentation::area = 0;
92 aPrim.
Init(aProjectileA, aProjectileZ);
93 G4double projectileOuterRadius = aPrim.GetOuterRadius();
96 aTarg.
Init(aTargetA, aTargetZ);
100 G4int particlesFromProjectile = 0;
101 G4int chargedFromProjectile = 0;
107 while(0==particlesFromProjectile)
114 while(x*x + y*y > 1);
115 impactParameter = std::sqrt(x*x+y*y)*(targetOuterRadius+projectileOuterRadius);
117 area =
pi*(targetOuterRadius+projectileOuterRadius)*
118 (targetOuterRadius+projectileOuterRadius);
119 G4double projectileHorizon = impactParameter-targetOuterRadius;
123 if(projectileHorizon > empirical*projectileOuterRadius) {
continue; }
128 while((pNucleon = aPrim.GetNextNucleon()))
133 ++particlesFromProjectile;
136 ++chargedFromProjectile;
144 G4double targetHorizon = impactParameter-projectileOuterRadius;
145 G4int chargedFromTarget = 0;
146 G4int particlesFromTarget = 0;
153 ++particlesFromTarget;
168 G4LorentzVector fragment4Momentum(momentum*w, projTotEnergy*w + targetMass);
171 G4Fragment anInitialState(aTargetA+particlesFromProjectile,
172 aTargetZ+chargedFromProjectile,
177 chargedFromProjectile + chargedFromTarget);
178 anInitialState.
SetNumberOfHoles(particlesFromProjectile+particlesFromTarget,
179 chargedFromProjectile + chargedFromTarget);
188 if(particlesFromProjectile < aProjectileA)
190 G4LorentzVector residual4Momentum(momentum*(1.0-w), projTotEnergy*(1.0-w));
192 G4Fragment initialState2(aProjectileA-particlesFromProjectile,
193 aProjectileZ-chargedFromProjectile,
197 G4int pinit = (aProjectileA-particlesFromProjectile)/2;
198 G4int cinit = (aProjectileZ-chargedFromProjectile)/2;
204 theExcitationResult = theHandler->
BreakItUp(initialState2);
210 if(theExcitationResult) { nexc = theExcitationResult->size(); }
211 if(thePreCompoundResult) { npre = thePreCompoundResult->size();}
214 for(
G4int k=0; k<nexc; ++k) {
222 for(
G4int k=0; k<npre; ++k) {
229 delete thePreCompoundResult;
230 delete theExcitationResult;