87   PrintWelcomeMessage();
 
   99   handlerDefinedInternally = 
true;
 
  144   PrintWelcomeMessage();
 
  146   theExcitationHandler     = aExcitationHandler;
 
  147   handlerDefinedInternally = 
false;
 
  171   if (handlerDefinedInternally) 
delete theExcitationHandler;
 
  175   delete thePhotonSpectrum;
 
  187   theParticleChange.
Clear();
 
  210   if (verboseLevel >= 2)
 
  213     G4cout <<
"########################################" 
  214            <<
"########################################" 
  217     G4cout <<
"Initial projectile A=" <<AP 
 
  220     G4cout <<
"Initial target     A=" <<AT
 
  223     G4cout <<
"Projectile momentum and Energy/nuc = " <<pP <<
" ," <<E <<
G4endl;
 
  242   G4double bmin = thePhotonSpectrum->GetClosestApproach(AP, ZP, AT, ZT, b);
 
  244     GetCrossSectionForProjectile(AP, ZP, AT, ZT, b, bmin);
 
  246     GetCrossSectionForTarget(AP, ZP, AT, ZT, b, bmin);
 
  248   G4double totCrossSectionP = (*crossSectionP)[0]+(*crossSectionP)[1];
 
  249   G4double totCrossSectionT = (*crossSectionT)[0]+(*crossSectionT)[1];
 
  256     totCrossSectionP / (totCrossSectionP + totCrossSectionT))
 
  268       GetWilsonProbabilityForProtonDissociation (AP, ZP))
 
  270       if (verboseLevel >= 2)
 
  271         G4cout <<
"Projectile underwent EM dissociation producing a proton" 
  279       if (verboseLevel >= 2)
 
  280         G4cout <<
"Projectile underwent EM dissociation producing a neutron" 
  288       Eg = crossSectionP->GetLowEdgeEnergy(0);
 
  289       if (verboseLevel >= 2)
 
  294       Eg = crossSectionP->GetLowEdgeEnergy(1);
 
  295       if (verboseLevel >= 2)
 
  318       GetWilsonProbabilityForProtonDissociation (AT, ZT))
 
  320       if (verboseLevel >= 2)
 
  321         G4cout <<
"Target underwent EM dissociation producing a proton" 
  329       if (verboseLevel >= 2)
 
  330         G4cout <<
"Target underwent EM dissociation producing a neutron" 
  338       Eg = crossSectionT->GetLowEdgeEnergy(0);
 
  339       if (verboseLevel >= 2)
 
  344       Eg = crossSectionT->GetLowEdgeEnergy(1);
 
  345       if (verboseLevel >= 2)
 
  357       (const_cast<G4ParticleDefinition*>(definitionP), v, E*AP-Eg);
 
  358     theParticleChange.AddSecondary (changedP);
 
  359     if (verboseLevel >= 2)
 
  376   G4double pp = (e+mass1+mass2)*(e+mass1-mass2)*
 
  377                 (e-mass1+mass2)*(e-mass1-mass2)/(4.0*e*
e);
 
  394   G4double sintheta = std::sqrt((1.0 - costheta)*(1.0 + costheta));
 
  396   G4ThreeVector direction(sintheta*std::cos(phi),sintheta*std::sin(phi),costheta);
 
  408   theParticleChange.AddSecondary (dynamicNucleon);
 
  409   if (verboseLevel >= 2)
 
  418   if (verboseLevel >= 2)
 
  420     G4cout <<
"Dynamic properties of the prefragment:" <<
G4endl;
 
  423     G4cout <<
"Nuclear properties of the prefragment:" <<
G4endl;
 
  427     theExcitationHandler->BreakItUp(*theFragment);
 
  431   G4ReactionProductVector::iterator iter;
 
  432   for (iter = products->begin(); iter != products->end(); ++iter)
 
  436       (*iter)->GetTotalEnergy(), (*iter)->GetMomentum());
 
  437     theParticleChange.AddSecondary (secondary);
 
  440   if (verboseLevel >= 2)
 
  441     G4cout <<
"########################################" 
  442            <<
"########################################" 
  445   return &theParticleChange;
 
  449 void G4EMDissociation::PrintWelcomeMessage ()
 
  452   G4cout <<
" ****************************************************************" 
  454   G4cout <<
" EM dissociation model for nuclear-nuclear interactions activated" 
  456   G4cout <<
" (Written by QinetiQ Ltd for the European Space Agency)" 
  458   G4cout <<
" ****************************************************************"