149    std::vector< G4QMDNucleus* > nucleuses; 
   164    G4double beta_nncm = ( - boostLABtoCM.beta() + boostLABtoNN.beta() ) / ( 1 - boostLABtoCM.beta() * boostLABtoNN.beta() ) ;  
   172    boostToReac = boostLABtoNN; 
   173    boostBackToLAB = -boostLABtoNN; 
   178    G4int icounter_max = 1024;
   182       if ( icounter > icounter_max ) { 
   183      G4cout << 
"Loop-counter exceeded the threshold value at " << __LINE__ << 
"th line of " << __FILE__ << 
"." << 
G4endl;
   207       if ( projectile.GetDefinition()->GetParticleType() == 
"nucleus"    208         || projectile.GetDefinition()->GetParticleName() == 
"proton"   209         || projectile.GetDefinition()->GetParticleName() == 
"neutron" )
   221          proj->CalEnergyAndAngularMomentumInCM();
   236       targ->CalEnergyAndAngularMomentumInCM();
   243       for ( 
G4int i = 0 ; i < targ->GetTotalNumberOfParticipant() ; i++ )
   271          for ( 
G4int i = 0 ; i < 
proj->GetTotalNumberOfParticipant() ; i++ )
   299             G4int i = targ->GetTotalNumberOfParticipant(); 
   336       if ( i / 10 * 10 == i ) 
   361    if ( numberOfSecondary == 2 )
   364       G4bool elasticLike_system = 
false;
   365       if ( nucleuses.size() == 2 ) 
   369          sec_a_A = nucleuses[0]->GetMassNumber();
   370          sec_b_Z = nucleuses[1]->GetAtomicNumber();
   371          sec_b_A = nucleuses[1]->GetMassNumber();
   373          if ( ( sec_a_Z == proj_Z && sec_a_A == proj_A && sec_b_Z == targ_Z && sec_b_A == targ_A )
   374            || ( sec_a_Z == targ_Z && sec_a_A == targ_A && sec_b_Z == proj_Z && sec_b_A == proj_A ) )
   376             elasticLike_system = 
true;
   380       else if ( nucleuses.size() == 1 ) 
   383          sec_a_Z = nucleuses[0]->GetAtomicNumber();
   384          sec_a_A = nucleuses[0]->GetMassNumber();
   387          if ( ( sec_a_Z == proj_Z && sec_a_A == proj_A && sec_b_pd == targ_pd )
   388            || ( sec_a_Z == targ_Z && sec_a_A == targ_A && sec_b_pd == proj_pd ) )
   390             elasticLike_system = 
true;
   400          if ( ( sec_a_pd == proj_pd && sec_b_pd == targ_pd ) 
   401            || ( sec_a_pd == targ_pd && sec_b_pd == proj_pd ) ) 
   403             elasticLike_system = 
true;
   408       if ( elasticLike_system == 
true )
   411          G4bool elasticLike_energy = 
true;
   413          for ( 
G4int i = 0 ; i < int ( nucleuses.size() ) ; i++ )
   421             if ( nucleuses[i]->GetExcitationEnergy()*
GeV > 1.0*
MeV ) elasticLike_energy = 
false;  
   426          G4bool withCollision = 
true;
   438             if ( elasticLike_energy == 
false ) elastic = 
false;
   440          if ( elasticLike_energy == 
false && withCollision == 
true ) elastic = 
false; 
   457       if ( elastic == 
true )
   460          for ( std::vector< G4QMDNucleus* >::iterator
   461                it = nucleuses.begin() ; it != nucleuses.end() ; it++ )
   473    for ( std::vector< G4QMDNucleus* >::iterator it
   474        = nucleuses.begin() ; it != nucleuses.end() ; it++ )
   495       if ( (*it)->GetAtomicNumber() == 0  
   496         || (*it)->GetAtomicNumber() == (*it)->GetMassNumber() ) 
   499          for ( 
G4int i = 0 ; i < (*it)->GetTotalNumberOfParticipant() ; i++ )
   501             G4QMDParticipant* aP = 
new G4QMDParticipant( ( (*it)->GetParticipant( i ) )->GetDefinition() , ( (*it)->GetParticipant( i ) )->GetMomentum() , ( (*it)->GetParticipant( i ) )->GetPosition() );  
   508       G4LorentzVector nucleus_p4CM ( (*it)->Get4Momentum().vect() , nucleus_e ); 
   512       G4int ia = (*it)->GetMassNumber();
   513       G4int iz = (*it)->GetAtomicNumber();
   522       for ( G4ReactionProductVector::iterator itt
   523           = rv->begin() ; itt != rv->end() ; itt++ )
   546              randomized_direction = randomized_direction.unit();
   595       if ( notBreak == 
true )
   606       for ( G4ReactionProductVector::iterator itt
   607           = rv->begin() ; itt != rv->end() ; itt++ )
   639    for ( std::vector< G4QMDNucleus* >::iterator it
   640        = nucleuses.begin() ; it != nucleuses.end() ; it++ )
 
static G4Pow * GetInstance()
 
G4double coulomb_collision_rx_proj
 
G4double coulomb_collision_px_proj
 
G4double coulomb_collision_rx_targ
 
G4double coulomb_collision_pz_targ
 
void SetParticipant(G4QMDParticipant *particle)
 
CLHEP::Hep3Vector G4ThreeVector
 
G4double powN(G4double x, G4int n) const
 
G4PiNuclearCrossSection * piNucXS
 
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
 
const G4String & GetParticleType() const
 
const G4ParticleDefinition * GetDefinition()
 
void SetNucleus(G4QMDNucleus *aSystem)
 
G4double GetIonMass(G4int Z, G4int A, G4int L=0, G4int lvl=0) const
 
std::vector< G4QMDNucleus *> DoClusterJudgment()
 
G4ReactionProductVector * BreakItUp(const G4Fragment &theInitialState)
 
void SetStatusChange(G4HadFinalStateStatus aS)
 
std::vector< G4ReactionProduct * > G4ReactionProductVector
 
void SetMeanField(G4QMDMeanField *meanfield)
 
G4ThreeVector GetMomentum() const
 
G4GLOB_DLL std::ostream G4cout
 
HepLorentzVector boostOf(const HepLorentzVector &vec, const Hep3Vector &betaVector)
 
G4double coulomb_collision_px_targ
 
void CalKinematicsOfBinaryCollisions(G4double)
 
G4int GetTotalNumberOfParticipant()
 
G4double GetTotalPotential()
 
Hep3Vector findBoostToCM() const
 
G4QMDParticipant * GetParticipant(G4int i)
 
static G4IonTable * GetIonTable()
 
G4QMDMeanField * meanField
 
G4double coulomb_collision_rz_targ
 
G4int GetAtomicNumber() const
 
void calcOffSetOfCollision(G4double, const G4ParticleDefinition *, const G4ParticleDefinition *, G4double, G4double, G4double, G4ThreeVector)
 
G4IonsShenCrossSection * shenXS
 
virtual G4double GetIsoCrossSection(const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0)
 
G4double coulomb_collision_gamma_targ
 
G4LorentzVector Get4Momentum()
 
G4double GetPDGMass() const
 
void DoPropagation(G4double)
 
void SetSystem(G4QMDSystem *aSystem)
 
cout<< "-> Edep in the target
 
G4double coulomb_collision_rz_proj
 
G4ExcitationHandler * excitationHandler
 
G4HadFinalState theParticleChange
 
G4LorentzVector Get4Momentum() const
 
G4QMDCollision * collision
 
G4ParticleDefinition * GetDefinition() const
 
void AddSecondary(G4DynamicParticle *aP, G4int mod=-1)
 
G4double coulomb_collision_gamma_proj
 
static const double eplus
 
G4int GetAtomicMass() const
 
G4double GetPDGCharge() const
 
static const double fermi
 
G4double coulomb_collision_pz_proj
 
G4double elastic(Particle const *const p1, Particle const *const p2)