81   G4double cmEnergy = std::sqrt( currentMass*currentMass +
 
   82                             targetMass*targetMass +
 
   83                             2.0*targetMass*etCurrent );  
 
   85   if (cmEnergy < 0.01) { 
 
   91     G4double pf = targetMass*pCurrent/cmEnergy;
 
  105       pseudoParticle[0].
SetMomentum( 0.0, 0.0, pOriginal*GeV );
 
  108       pseudoParticle[1].
SetMass( mOriginal*GeV );
 
  112       pseudoParticle[0].
SetMass( currentMass*GeV );
 
  114       pseudoParticle[0].
SetMomentum( 0.0, 0.0, pCurrent*GeV );
 
  117       pseudoParticle[1].
SetMass( targetMass*GeV );
 
  123     pseudoParticle[2] = pseudoParticle[0] + pseudoParticle[1];
 
  124     pseudoParticle[0].
Lorentz( pseudoParticle[0], pseudoParticle[2] );
 
  125     pseudoParticle[1].Lorentz( pseudoParticle[1], pseudoParticle[2] );
 
  129     currentParticle.
SetTotalEnergy( std::sqrt(pf*pf+currentMass*currentMass)*GeV );
 
  130     targetParticle.
SetTotalEnergy( std::sqrt(pf*pf+targetMass*targetMass)*GeV );
 
  143     G4double btrang = b * 4.0 * pf * pseudoParticle[0].GetMomentum().mag()/
GeV;
 
  147     G4double sintheta = std::sqrt((1.0-costheta)*(1.0+costheta));
 
  156       currentParticle.
SetMomentum( -pf*sintheta*std::cos(phi)*GeV,
 
  157                                    -pf*sintheta*std::sin(phi)*GeV,
 
  161       currentParticle.
SetMomentum( pf*sintheta*std::cos(phi)*GeV,
 
  162                                    pf*sintheta*std::sin(phi)*GeV,
 
  170     currentParticle.
Lorentz( currentParticle, pseudoParticle[1] );
 
  171     targetParticle.
Lorentz( targetParticle, pseudoParticle[1] );
 
  175     Defs1( modifiedOriginal, currentParticle, targetParticle, vec, vecLen );
 
  180     if( atomicWeight >= 1.5 )
 
  182       const G4double cfa = 0.025*((atomicWeight-1.)/120.)*
G4Exp(-(atomicWeight-1.)/120.);
 
  187         ekin = 
std::max( 0.0001*GeV, ekin );
 
  196         ekin = 
std::max( 0.0001*GeV, ekin );
 
  207   std::pair<G4int, G4int> finalStateNucleons = 
 
  209   G4int protonsInFinalState = finalStateNucleons.first;
 
  210   G4int neutronsInFinalState = finalStateNucleons.second;
 
  217   if( atomicWeight >= 1.5 )
 
  227     G4int npnb=0, ndta=0;
 
  236     if( epnb >= pnCutOff )
 
  239       if( npnb > atomicWeight )npnb = 
G4int(atomicWeight);
 
  240       if( (epnb > pnCutOff) && (npnb <= 0) )npnb = 1;
 
  241       npnb = 
std::min( npnb, 127-vecLen );
 
  243     if( edta >= dtaCutOff )
 
  246       ndta = 
std::min( ndta, 127-vecLen );
 
  249     if (npnb == 0 && ndta == 0) npnb = 1;
 
  252                            PinNucleus, NinNucleus, targetNucleus,
 
  259   if( (atomicWeight >= 1.5) && (atomicWeight <= 230.0) && (ekOriginal <= 0.2) )
 
  262     currentParticle.
SetTOF( 1.0 );
 
G4long G4Poisson(G4double mean)
 
G4double GetTotalMomentum() const 
 
void Lorentz(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
 
void Defs1(const G4ReactionProduct &modifiedOriginal, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen)
 
void SetKineticEnergy(const G4double en)
 
void SetMomentum(const G4double x, const G4double y, const G4double z)
 
G4double GetDTABlackTrackEnergy() const 
 
const G4String & GetParticleSubType() const 
 
static constexpr double twopi
 
std::pair< G4int, G4int > GetFinalStateNucleons(const G4DynamicParticle *originalTarget, const G4FastVector< G4ReactionProduct, 256 > &vec, const G4int &vecLen)
 
const G4ParticleDefinition * GetDefinition() const 
 
void SetMass(const G4double mas)
 
void SetTotalEnergy(const G4double en)
 
G4double GetKineticEnergy() const 
 
G4double G4Log(G4double x)
 
G4double G4Exp(G4double initial_x)
Exponential Function double precision. 
 
G4double GetTotalEnergy() const 
 
G4double GetPDGMass() const 
 
T max(const T t1, const T t2)
brief Return the largest of the two arguments 
 
T min(const T t1, const T t2)
brief Return the smallest of the two arguments 
 
static constexpr double GeV
 
G4ThreeVector GetMomentum() const 
 
void AddBlackTrackParticles(const G4double, const G4int, const G4double, const G4int, const G4ReactionProduct &, G4int, G4int, const G4Nucleus &, G4FastVector< G4ReactionProduct, 256 > &, G4int &)
 
static constexpr double MeV
 
void SetTOF(const G4double t)
 
G4double GetPNBlackTrackEnergy() const