95   delete theElementaryParticleCollider;
 
   96   delete theIntraNucleiCascader;
 
   97   delete theDeexcitation;
 
  117   delete theDeexcitation;
 
  123   delete theDeexcitation;
 
  135   const G4int itry_max = 100;
 
  140       G4cout << 
" InuclCollider -> particle on particle collision" << 
G4endl;
 
  142     theElementaryParticleCollider->
collide(bullet, target, globalOutput);
 
  153       G4cerr << 
" InuclCollider -> no collision possible " << 
G4endl;
 
  162     G4cerr << 
" InuclCollider -> ERROR target is not a nucleus " << 
G4endl;
 
  177       G4cerr << 
" InuclCollider -> ERROR bullet is not a hadron " << 
G4endl;
 
  183       G4cerr << 
" InuclCollider -> ERROR can not collide with " 
  189     btype = pbullet->
type();
 
  194       G4cerr << 
" InuclCollider -> ERROR bullet is not a nucleus " << 
G4endl;
 
  199     ab = nbullet->
getA();
 
  200     zb = nbullet->
getZ();
 
  210       G4cout << 
" InuclCollider -> inelastic interaction is impossible\n" 
  211          << 
" due to the coulomb barirer " << 
G4endl;
 
  220     G4cout << 
" degenerated? " << convertToTargetRestFrame.
trivial()
 
  235   while (itry < itry_max) { 
 
  240     globalOutput.
reset();       
 
  243     theIntraNucleiCascader->
collide(zbullet, target, output);
 
  251     if (getenv(
"G4CASCADE_CHECK_PHOTONUCLEAR"))
 
  255       G4cout << 
" itry " << itry << 
" finished, moving to lab frame" << 
G4endl;
 
  260     globalOutput.
add(output);
 
  267     G4cout << 
" InuclCollider output after trials " << itry << 
G4endl;
 
  272     G4cerr << 
" InuclCollider setOnShell failed." << 
G4endl;
 
  277     G4cout << 
" InuclCollider -> can not generate acceptable inter. after "  
  278        << itry_max << 
" attempts " << 
G4endl;
 
  299   globalOutput.
reset();     
 
  302   theIntraNucleiCascader->
rescatter(bullet, theSecondaries, theNucleus, 
 
  310   globalOutput.
add(output); 
 
  313     G4cout << 
" InuclCollider output after trials " << itry << 
G4endl;
 
  325   const G4int itry_max = 10;        
 
  331     theDeexcitation->
deExcite(fragment, DEXoutput);
 
  332   } 
while (!
validateOutput(fragment, DEXoutput) && (++itry < itry_max));
 
  335   globalOutput.
add(DEXoutput);
 
  349     G4cout << 
" >>> G4InuclCollider::photonuclearOkay" << 
G4endl;
 
  355       G4cout << 
" comparing final nucleus with initial target:\n" 
  359       G4cout << 
" no final nucleus remains when target was " 
  369   if (mfinalNuc != mtargetNuc) 
return true; 
 
  372     G4cout << 
" photonuclear produced only gammas.  Try again." << 
G4endl;
 
G4bool hadNucleus() const 
 
void trivialise(G4InuclParticle *bullet, G4InuclParticle *target)
 
void rescatter(G4InuclParticle *bullet, G4KineticTrackVector *theSecondaries, G4V3DNucleus *theNucleus, G4CollisionOutput &globalOutput)
 
void setVerboseLevel(G4int verbose)
 
static const G4CascadeChannel * GetTable(G4int initialState)
 
G4double getTRSMomentum() const 
 
virtual G4bool useEPCollider(G4InuclParticle *bullet, G4InuclParticle *target) const 
 
void removeRecoilFragment(G4int index=-1)
 
void collide(G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &output)
 
const G4ParticleDefinition * getDefinition() const 
 
virtual G4bool inelasticInteractionPossible(G4InuclParticle *bullet, G4InuclParticle *target, G4double ekin) const 
 
virtual ~G4InuclCollider()
 
G4bool photonuclearOkay(G4CollisionOutput &checkOutput) const 
 
void deexcite(const G4Fragment &fragment, G4CollisionOutput &globalOutput)
 
const G4String & GetParticleName() const 
 
G4bool acceptable() const 
 
virtual void setVerboseLevel(G4int verbose=0)
 
G4double getKineticEnergy() const 
 
virtual void deExcite(const G4Fragment &fragment, G4CollisionOutput &output)=0
 
G4bool isElectron() const 
 
void add(const G4CollisionOutput &right)
 
void useCascadeDeexcitation()
 
G4GLOB_DLL std::ostream G4cout
 
void setVerboseLevel(G4int verbose=0)
 
void rescatter(G4InuclParticle *bullet, G4KineticTrackVector *theSecondaries, G4V3DNucleus *theNucleus, G4CollisionOutput &globalOutput)
 
void boostToLabFrame(const G4LorentzConvertor &convertor)
 
void collide(G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &globalOutput)
 
G4double getKinEnergyInTheTRS() const 
 
void collide(G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &globalOutput)
 
G4InteractionCase interCase
 
G4int numberOfOutgoingNuclei() const 
 
void set(G4InuclParticle *part1, G4InuclParticle *part2)
 
virtual G4bool validateOutput(G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &output)
 
const std::vector< G4InuclNuclei > & getOutgoingNuclei() const 
 
G4InuclParticle * getBullet() const 
 
virtual void setVerboseLevel(G4int verbose=0)
 
void setVerboseLevel(G4int verbose=0)
 
const G4Fragment & getRecoilFragment(G4int index=0) const 
 
void toTheTargetRestFrame()
 
G4InuclParticle * getTarget() const 
 
void usePreCompoundDeexcitation()
 
void setOnShell(G4InuclParticle *bullet, G4InuclParticle *target)
 
G4GLOB_DLL std::ostream G4cerr