43 #ifndef G4GlauberGribovCrossSection_h
44 #define G4GlauberGribovCrossSection_h 1
121 static const G4double fNeutronBarCorrectionTot[93];
122 static const G4double fNeutronBarCorrectionIn[93];
124 static const G4double fProtonBarCorrectionTot[93];
125 static const G4double fProtonBarCorrectionIn[93];
127 static const G4double fPionPlusBarCorrectionTot[93];
128 static const G4double fPionPlusBarCorrectionIn[93];
130 static const G4double fPionMinusBarCorrectionTot[93];
131 static const G4double fPionMinusBarCorrectionIn[93];
133 G4double fTotalXsc, fElasticXsc, fInelasticXsc, fProductionXsc, fDiffractionXsc;
192 return fInelasticXsc;
204 if(Z >= 2 && Z <= 92)
206 if( theParticle == theProton )
return fProtonBarCorrectionTot[
Z];
207 else if( theParticle == theNeutron)
return fNeutronBarCorrectionTot[
Z];
208 else if( theParticle == thePiPlus )
return fPionPlusBarCorrectionTot[
Z];
209 else if( theParticle == thePiMinus)
return fPionMinusBarCorrectionTot[
Z];
224 if(Z >= 2 && Z <= 92)
226 if( theParticle == theProton )
return fProtonBarCorrectionIn[
Z];
227 else if( theParticle == theNeutron)
return fNeutronBarCorrectionIn[
Z];
228 else if( theParticle == thePiPlus )
return fPionPlusBarCorrectionIn[
Z];
229 else if( theParticle == thePiMinus)
return fPionMinusBarCorrectionIn[
Z];
G4double GetTotalGlauberGribovXsc()
G4double GetHNinelasticXscVU(const G4DynamicParticle *, G4int At, G4int Zt)
G4double GetRatioSD(const G4DynamicParticle *, G4int At, G4int Zt)
G4double GetElasticGlauberGribovXsc()
G4double GetParticleBarCorTot(const G4ParticleDefinition *theParticle, G4int Z)
G4double GetRadiusConst()
virtual G4double GetIsoCrossSection(const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0)
void SetEnergyLowerLimit(G4double E)
G4double GetHadronNucleonXscNS(const G4DynamicParticle *, const G4Element *)
virtual ~G4GlauberGribovCrossSection()
G4double GetHadronNucleonXsc(const G4DynamicParticle *, const G4Element *)
G4double GetKaonNucleonXscVector(const G4DynamicParticle *, G4int At, G4int Zt)
static const char * Default_Name()
G4double GetHadronNucleonXscPDG(const G4DynamicParticle *, const G4Element *)
G4double GetParticleBarCorIn(const G4ParticleDefinition *theParticle, G4int Z)
G4double CalcMandelstamS(const G4double, const G4double, const G4double)
G4double GetInelasticGlauberGribov(const G4DynamicParticle *, G4int Z, G4int A)
G4double GetNucleusRadius(const G4DynamicParticle *, const G4Element *)
G4double GetProductionGlauberGribovXsc()
G4double CalculateEcmValue(const G4double, const G4double, const G4double)
G4double GetDiffractionGlauberGribovXsc()
virtual void CrossSectionDescription(std::ostream &) const
G4double GetRatioQE(const G4DynamicParticle *, G4int At, G4int Zt)
G4GlauberGribovCrossSection()
G4double GetHNinelasticXsc(const G4DynamicParticle *, const G4Element *)
virtual G4bool IsIsoApplicable(const G4DynamicParticle *aDP, G4int Z, G4int A, const G4Element *elm=0, const G4Material *mat=0)
G4double GetElasticGlauberGribov(const G4DynamicParticle *, G4int Z, G4int A)
G4double GetInelasticGlauberGribovXsc()