94   aPrim.
Init(aProjectileA, aProjectileZ);
    95   G4double projectileOuterRadius = aPrim.GetOuterRadius();
    98   aTarg.
Init(aTargetA, aTargetZ);
   102   G4int particlesFromProjectile = 0;
   103   G4int chargedFromProjectile = 0;
   111   while(0==particlesFromProjectile)
   119     while(x*x + y*y > 1);
   120     impactParameter = std::sqrt(x*x+y*y)*(targetOuterRadius+projectileOuterRadius);
   122     area = 
pi*(targetOuterRadius+projectileOuterRadius)*
   123               (targetOuterRadius+projectileOuterRadius);
   124     G4double projectileHorizon = impactParameter-targetOuterRadius; 
   128     if(projectileHorizon > empirical*projectileOuterRadius) { 
continue; }
   135     while((pNucleon = aPrim.GetNextNucleon()))
   140         ++particlesFromProjectile;
   143           ++chargedFromProjectile;
   151   G4double targetHorizon = impactParameter-projectileOuterRadius;
   152   G4int chargedFromTarget = 0;
   153   G4int particlesFromTarget = 0;
   161       ++particlesFromTarget;
   176   G4LorentzVector fragment4Momentum(momentum*w, projTotEnergy*w + targetMass);
   179   G4Fragment anInitialState(aTargetA+particlesFromProjectile,
   180                 aTargetZ+chargedFromProjectile,
   185                         + particlesFromTarget,
   186                         chargedFromProjectile 
   187                         + chargedFromTarget);
   188   anInitialState.
SetNumberOfHoles(particlesFromProjectile+particlesFromTarget,
   189                   chargedFromProjectile + chargedFromTarget);
   199   if(particlesFromProjectile < aProjectileA)
   201     G4LorentzVector residual4Momentum(momentum*(1.0-w), projTotEnergy*(1.0-w));  
   203     G4Fragment initialState2(aProjectileA-particlesFromProjectile,
   204                  aProjectileZ-chargedFromProjectile,
   208     G4int pinit = (aProjectileA-particlesFromProjectile)/2;
   209     G4int cinit = (aProjectileZ-chargedFromProjectile)/2;
   221   if(theExcitationResult)  { nexc = theExcitationResult->size(); }
   222   if(thePreCompoundResult) { npre = thePreCompoundResult->size();}
   225     for(
G4int k=0; k<nexc; ++k) {
   234     for(
G4int k=0; k<npre; ++k) {
   242   delete thePreCompoundResult;
   243   delete theExcitationResult;
 G4PreCompoundModel * theModel
 
static G4double GetNuclearMass(const G4double A, const G4double Z)
 
const G4ParticleDefinition * proton
 
G4int GetBaryonNumber() const
 
const G4LorentzVector & Get4Momentum() const
 
G4double GetTotalEnergy() const
 
virtual G4HadFinalState * ApplyYourself(const G4HadProjectile &thePrimary, G4Nucleus &theNucleus)
 
void SetNumberOfHoles(G4int valueTot, G4int valueP=0)
 
G4ReactionProductVector * BreakItUp(const G4Fragment &theInitialState)
 
void SetStatusChange(G4HadFinalStateStatus aS)
 
std::vector< G4ReactionProduct * > G4ReactionProductVector
 
void SetNumberOfExcitedParticle(G4int valueTot, G4int valueP)
 
virtual const G4ThreeVector & GetPosition() const
 
void Init(G4int theA, G4int theZ)
 
static G4Proton * Proton()
 
G4double GetGlobalTime() const
 
virtual G4ReactionProductVector * DeExcite(G4Fragment &aFragment)
 
const G4ParticleDefinition * GetDefinition() const
 
void SetEnergyChange(G4double anEnergy)
 
void SetCreationTime(G4double time)
 
virtual ~G4LowEIonFragmentation()
 
const G4ParticleDefinition * GetDefinition() const
 
G4HadFinalState theResult
 
void AddSecondary(G4DynamicParticle *aP, G4int mod=-1)
 
G4double GetOuterRadius()
 
const G4ParticleDefinition * GetParticleType() const
 
static const double eplus
 
G4Nucleon * GetNextNucleon()
 
G4double GetPDGCharge() const
 
G4ThreeVector GetMomentum() const
 
G4ExcitationHandler * theHandler