63   currentParticle.SetKineticEnergy( ek );
 
   65   G4double p = std::sqrt( std::abs((et-amas)*(et+amas)) );
 
   66   G4double pp = currentParticle.GetMomentum().mag();
 
   69     currentParticle.SetMomentum( momentum * (p/pp) );
 
   76   currentParticle.SetKineticEnergy( ek );
 
   78   p = std::sqrt( std::abs((et-amas)*(et+amas)) );
 
   79   pp = currentParticle.GetMomentum().mag();
 
   82     currentParticle.SetMomentum( momentum * (p/pp) );
 
   88   targetParticle.SetSide( -1 );  
 
   89   G4bool incidentHasChanged = 
false;
 
   90   G4bool targetHasChanged = 
false;
 
   91   G4bool quasiElastic = 
false;
 
   97   if( currentParticle.GetKineticEnergy() > cutOff )
 
   98     InitialCollision(vec, vecLen, currentParticle, targetParticle,
 
   99                      incidentHasChanged, targetHasChanged);
 
  102                    originalIncident, originalTarget, modifiedOriginal,
 
  103                    targetNucleus, currentParticle, targetParticle,
 
  104                    incidentHasChanged, targetHasChanged, quasiElastic);
 
  107               currentParticle, targetParticle,
 
  110   delete originalTarget;
 
  126                                   G4bool& incidentHasChanged,
 
  133   std::vector<G4int> fsTypes;
 
  144     partType = fsTypes[0];
 
  145     if (partType != 
pro) {
 
  146       targetHasChanged = 
true;
 
  157     partType = fsTypes[0];
 
  158     if (partType != 
neu) {
 
  159       targetHasChanged = 
true;
 
  170   fsTypes.erase(fsTypes.begin());
 
  175   for(
G4int i=0; i < mult-1; ++i ) {
 
  176     partType = fsTypes[i];
 
  177     if (partType == 
pim) {
 
  183     incidentHasChanged = 
true;
 
  185     partType = fsTypes[choose];
 
  189   fsTypes.erase(fsTypes.begin()+choose);
 
  194   for(
G4int i=0; i < mult-2; ++i ) {
 
  195     partType = fsTypes[i];
 
  199     if (partType > 
pim && partType < 
pro) rp->SetMayBeKilled(
false);  
 
  208   CheckQnums(vec, vecLen, currentParticle, targetParticle,
 
  209              testCharge, testBaryon, testStrange);
 
void SetElement(G4int anIndex, Type *anElement)
G4double EvaporationEffects(G4double kineticEnergy)
void SetUpChange(G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4bool &incidentHasChanged)
void SetMomentum(const G4double x, const G4double y, const G4double z)
void SetSide(const G4int sid)
void CalculateMomenta(G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen, const G4HadProjectile *originalIncident, const G4DynamicParticle *originalTarget, G4ReactionProduct &modifiedOriginal, G4Nucleus &targetNucleus, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4bool &incidentHasChanged, G4bool &targetHasChanged, G4bool quasiElastic)
G4ParticleDefinition * GetDefinition() const 
void Initialize(G4int items)
G4DynamicParticle * ReturnTargetParticle() const 
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
void SetStatusChange(G4HadFinalStateStatus aS)
std::vector< G4int > GetFSPartTypesForPimN(G4int mult, G4double KE) const 
const G4ParticleDefinition * GetDefinition() const 
const G4ParticleDefinition * GetDefinition() const 
G4ParticleDefinition * particleDef[18]
G4double GetKineticEnergy() const 
const G4LorentzVector & Get4Momentum() const 
G4double GetKineticEnergy() const 
void SetEnergyChange(G4double anEnergy)
G4double GetPDGMass() const 
G4double Cinema(G4double kineticEnergy)
static constexpr double GeV
G4int GetMultiplicityT12(G4double KE) const 
G4HadFinalState theParticleChange
G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
void CheckQnums(G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4double Q, G4double B, G4double S)
void SetMomentumChange(const G4ThreeVector &aV)
std::vector< G4int > GetFSPartTypesForPimP(G4int mult, G4double KE) const 
G4int GetMultiplicityT32(G4double KE) const