75 static const G4double nuleonRadius=1.1E-15;
76 static const G4double myNuleonRadius=1.36E-15;
84 pTarget = pTarget+pProjectile;
85 G4double E_cm = (pTarget.
mag()-targetMass-pProjectile.
m())/MeV;
86 if(E_cm <=
DBL_MIN) {
return result; }
88 G4double r_rms_p = 0.6 * myNuleonRadius *
90 G4double r_rms_t = 0.6 * myNuleonRadius *
94 G4double r_p = 1.29*r_rms_p/nuleonRadius ;
95 G4double r_t = 1.29*r_rms_t/nuleonRadius;
103 G4double B = 1.44*nProjProtons*nTargetProtons/Radius;
104 if(E_cm <=
B)
return result;
106 G4double Energy = kineticEnergy/projectileAtomicNumber;
118 if (nProjProtons==1 && projectileAtomicNumber==1)
122 else if (nProjProtons==2 && projectileAtomicNumber==4)
124 D = 2.77-(8.0E-3*targetAtomicNumber)+
125 (1.8E-5*targetAtomicNumber*targetAtomicNumber)
126 - 0.8/(1+
G4Exp((250.-Energy)/75.));
150 0.91*(targetAtomicNumber-2.*nTargetProtons)*nProjProtons/
151 (targetAtomicNumber*projectileAtomicNumber);
154 result = pi * nuleonRadius*nuleonRadius *
159 if(result < 0.) { result = 0.; }
double B(double temperature)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4ParticleDefinition * GetDefinition() const
G4LorentzVector Get4Momentum() const
G4double GetKineticEnergy() const
G4double GetIonMass(G4int Z, G4int A, G4int L=0, G4int lvl=0) const
static G4NistManager * Instance()
G4double GetAtomicMassAmu(const G4String &symb) const
G4double GetPDGCharge() const
G4int GetBaryonNumber() const
G4IonTable * GetIonTable() const
static G4ParticleTable * GetParticleTable()
static G4Pow * GetInstance()
G4double powA(G4double A, G4double y) const
virtual G4double GetElementCrossSection(const G4DynamicParticle *, G4int Z, const G4Material *)
virtual G4bool IsElementApplicable(const G4DynamicParticle *aPart, G4int Z, const G4Material *)
~G4TripathiCrossSection()