85   PrintWelcomeMessage();
 
   97   handlerDefinedInternally = 
true;
 
  139   PrintWelcomeMessage();
 
  141   theExcitationHandler     = aExcitationHandler;
 
  142   handlerDefinedInternally = 
false;
 
  158   if (handlerDefinedInternally) 
delete theExcitationHandler;
 
  162   delete thePhotonSpectrum;
 
  172   theParticleChange.
Clear();
 
  192   if (verboseLevel >= 2) {
 
  194     G4cout <<
"########################################" 
  195            <<
"########################################" 
  198     G4cout <<
"Initial projectile A=" <<AP 
 
  201     G4cout <<
"Initial target     A=" <<AT
 
  204     G4cout <<
"Projectile momentum and Energy/nuc = " <<pP <<
" ," <<E <<
G4endl;
 
  221   G4double bmin = thePhotonSpectrum->GetClosestApproach(AP, ZP, AT, ZT, b);
 
  223     GetCrossSectionForProjectile(AP, ZP, AT, ZT, b, bmin);
 
  225     GetCrossSectionForTarget(AP, ZP, AT, ZT, b, bmin);
 
  227   G4double totCrossSectionP = (*crossSectionP)[0]+(*crossSectionP)[1];
 
  228   G4double totCrossSectionT = (*crossSectionT)[0]+(*crossSectionT)[1];
 
  234     totCrossSectionP / (totCrossSectionP + totCrossSectionT)) {
 
  244       GetWilsonProbabilityForProtonDissociation (AP, ZP))
 
  246       if (verboseLevel >= 2)
 
  247         G4cout <<
"Projectile underwent EM dissociation producing a proton" 
  255       if (verboseLevel >= 2)
 
  256         G4cout <<
"Projectile underwent EM dissociation producing a neutron" 
  264       Eg = crossSectionP->GetLowEdgeEnergy(0);
 
  265       if (verboseLevel >= 2)
 
  270       Eg = crossSectionP->GetLowEdgeEnergy(1);
 
  271       if (verboseLevel >= 2)
 
  291       GetWilsonProbabilityForProtonDissociation (AT, ZT))
 
  293       if (verboseLevel >= 2)
 
  294         G4cout <<
"Target underwent EM dissociation producing a proton" 
  302       if (verboseLevel >= 2)
 
  303         G4cout <<
"Target underwent EM dissociation producing a neutron" 
  311       Eg = crossSectionT->GetLowEdgeEnergy(0);
 
  312       if (verboseLevel >= 2)
 
  317       Eg = crossSectionT->GetLowEdgeEnergy(1);
 
  318       if (verboseLevel >= 2)
 
  329     theParticleChange.AddSecondary (changedP);
 
  330     if (verboseLevel >= 2)
 
  346   G4double pp = (e+mass1+mass2)*(e+mass1-mass2)*
 
  347                 (e-mass1+mass2)*(e-mass1-mass2)/(4.0*e*e);
 
  363   G4double sintheta = std::sqrt((1.0 - costheta)*(1.0 + costheta));
 
  365   G4ThreeVector direction(sintheta*std::cos(phi),sintheta*std::sin(phi),costheta);
 
  376   theParticleChange.AddSecondary (dynamicNucleon);
 
  377   if (verboseLevel >= 2) {
 
  386   if (verboseLevel >= 2) {
 
  387     G4cout <<
"Dynamic properties of the prefragment:" <<
G4endl;
 
  390     G4cout <<
"Nuclear properties of the prefragment:" <<
G4endl;
 
  395                       theExcitationHandler->BreakItUp(*theFragment);
 
  400   G4ReactionProductVector::iterator iter;
 
  401   for (iter = products->begin(); iter != products->end(); ++iter) {
 
  403     (*iter)->GetTotalEnergy(), (*iter)->GetMomentum());
 
  404     theParticleChange.AddSecondary (secondary);
 
  408   delete crossSectionP;
 
  409   delete crossSectionT;
 
  411   if (verboseLevel >= 2)
 
  412     G4cout <<
"########################################" 
  413            <<
"########################################" 
  416   return &theParticleChange;
 
  420 void G4EMDissociation::PrintWelcomeMessage ()
 
  423   G4cout <<
" ****************************************************************" 
  425   G4cout <<
" EM dissociation model for nuclear-nuclear interactions activated" 
  427   G4cout <<
" (Written by QinetiQ Ltd for the European Space Agency)" 
  429   G4cout <<
" ****************************************************************" 
static G4double GetNuclearMass(const G4double A, const G4double Z)
 
CLHEP::Hep3Vector G4ThreeVector
 
static G4Proton * ProtonDefinition()
 
void DumpInfo(G4int mode=0) const 
 
void SetMinEForMultiFrag(G4double anE)
 
static constexpr double rad
 
std::vector< G4ReactionProduct * > G4ReactionProductVector
 
void SetMinEnergy(G4double anEnergy)
 
G4GLOB_DLL std::ostream G4cout
 
const G4ParticleDefinition * GetDefinition() const 
 
HepLorentzVector & boost(double, double, double)
 
G4double GetKineticEnergy() const 
 
void SetFermiModel(G4VFermiBreakUp *ptr)
 
virtual G4HadFinalState * ApplyYourself(const G4HadProjectile &, G4Nucleus &)
 
static constexpr double eV
 
void SetMultiFragmentation(G4VMultiFragmentation *ptr)
 
const G4LorentzVector & Get4Momentum() const 
 
void SetEvaporation(G4VEvaporation *ptr, G4bool isLocal=false)
 
G4LorentzVector Get4Momentum() const 
 
static G4IonTable * GetIonTable()
 
void Set4Momentum(const G4LorentzVector &momentum)
 
Hep3Vector findBoostToCM() const 
 
G4double GetPDGMass() const 
 
void SetMaxAandZForFermiBreakUp(G4int anA, G4int aZ)
 
static constexpr double GeV
 
void SetMaxEnergy(const G4double anEnergy)
 
static constexpr double MeV
 
static constexpr double pi
 
G4double GetPDGCharge() const 
 
static G4Neutron * NeutronDefinition()
 
G4int GetBaryonNumber() const 
 
G4double GetTotalEnergy() const