54     SlowProton( originalIncident, targetNucleus );
 
   55     delete originalTarget;
 
   65   modifiedOriginal = *originalIncident;
 
   71   G4double p = std::sqrt( std::abs((et-amas)*(et+amas)) );
 
   84   p = std::sqrt( std::abs((et-amas)*(et+amas)) );
 
   92     SlowProton( originalIncident, targetNucleus );
 
   93     delete originalTarget;
 
   99   targetParticle = *originalTarget;
 
  102   G4bool incidentHasChanged = 
false;
 
  103   G4bool targetHasChanged = 
false;
 
  104   G4bool quasiElastic = 
false;
 
  109   InitialCollision(vec, vecLen, currentParticle, targetParticle,
 
  110                    incidentHasChanged, targetHasChanged);
 
  113                    originalIncident, originalTarget, modifiedOriginal,
 
  114                    targetNucleus, currentParticle, targetParticle,
 
  115                    incidentHasChanged, targetHasChanged, quasiElastic);
 
  118                currentParticle, targetParticle,
 
  119                incidentHasChanged );
 
  121   delete originalTarget;
 
  127 G4RPGProtonInelastic::SlowProton(
const G4HadProjectile *originalIncident,
 
  137   massVec[0] = targetNucleus.
AtomicMass( A+1.0, Z+1.0 );
 
  140      massVec[1] = targetNucleus.
AtomicMass( A    , Z+1.0 );
 
  141   massVec[2] = theAtomicMass;
 
  143   if (A > 1.0 && A-1.0 > Z) 
 
  144      massVec[3] = targetNucleus.
AtomicMass( A-1.0, Z );
 
  146   if (A > 2.0 && A-2.0 > Z) 
 
  147      massVec[4] = targetNucleus.
AtomicMass( A-2.0, Z     );
 
  149   if (A > 3.0 && Z > 1.0 && A-3.0 > Z-1.0) 
 
  150      massVec[5] = targetNucleus.
AtomicMass( A-3.0, Z-1.0 );
 
  152   if (A > 1.0 && A-1.0 > Z+1.0) 
 
  153      massVec[6] = targetNucleus.
AtomicMass( A-1.0, Z+1.0 );
 
  154   massVec[7] = massVec[3];
 
  156   if (A > 1.0 && Z > 1.0) 
 
  157      massVec[8] = targetNucleus.
AtomicMass( A-1.0, Z-1.0 );
 
  164                            targetNucleus, theAtomicMass, massVec );
 
  170   for( 
G4int i=0; i<vecLen; ++i )
 
  192                                   G4bool& incidentHasChanged,
 
  199   std::vector<G4int> fsTypes;
 
  220           incidentHasChanged = 
true;
 
  224           targetHasChanged = 
true;
 
  226       } 
else if (part2 > 
neu && part2 < 
xi0) {
 
  227         targetHasChanged = 
true;
 
  231       targetHasChanged = 
true;
 
  232       incidentHasChanged = 
true;
 
  249         targetHasChanged = 
true;
 
  250       } 
else if (part2 == 
neu) {
 
  252           incidentHasChanged = 
true;
 
  253           targetHasChanged = 
true;
 
  258         targetHasChanged = 
true;
 
  262       incidentHasChanged = 
true;
 
  263       if (part2 > 
neu && part2 < 
xi0) targetHasChanged = 
true;
 
  273   fsTypes.erase(fsTypes.begin());
 
  274   fsTypes.erase(fsTypes.begin());
 
  279   for(
G4int i=0; i < mult-2; ++i ) {
 
  280     partType = fsTypes[i];
 
  289   CheckQnums(vec, vecLen, currentParticle, targetParticle,
 
  290              testCharge, testBaryon, testStrange);
 
G4double AtomicMass(const G4double A, const G4double Z) const 
 
void SetElement(G4int anIndex, Type *anElement)
 
G4double EvaporationEffects(G4double kineticEnergy)
 
void SetMomentum(const G4ThreeVector &momentum)
 
void SetUpChange(G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4bool &incidentHasChanged)
 
void SetKineticEnergy(const G4double en)
 
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)
 
void Initialize(G4int items)
 
G4DynamicParticle * ReturnTargetParticle() const 
 
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
 
void SetStatusChange(G4HadFinalStateStatus aS)
 
G4int GetMultiplicityT1(G4double KE) const 
 
const G4ParticleDefinition * GetDefinition() const 
 
double A(double temperature)
 
const G4ParticleDefinition * GetDefinition() const 
 
G4ParticleDefinition * particleDef[18]
 
G4double GetKineticEnergy() const 
 
const G4LorentzVector & Get4Momentum() const 
 
G4double GetKineticEnergy() const 
 
void SetEnergyChange(G4double anEnergy)
 
G4double GetPDGMass() const 
 
void NuclearReaction(G4FastVector< G4ReactionProduct, 4 > &vec, G4int &vecLen, const G4HadProjectile *originalIncident, const G4Nucleus &aNucleus, const G4double theAtomicMass, const G4double *massVec)
 
G4double Cinema(G4double kineticEnergy)
 
static constexpr double GeV
 
G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
 
G4ThreeVector GetMomentum() const 
 
G4HadFinalState theParticleChange
 
void CheckQnums(G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4double Q, G4double B, G4double S)
 
void AddSecondary(G4DynamicParticle *aP, G4int mod=-1)
 
std::vector< G4int > GetFSPartTypesForPP(G4int mult, G4double KE) const 
 
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
 
G4int GetMultiplicityT0(G4double KE) const 
 
void SetMomentumChange(const G4ThreeVector &aV)
 
std::vector< G4int > GetFSPartTypesForPN(G4int mult, G4double KE) const