39 #ifndef G4ComponentGGHadronNucleusXsc_h
40 #define G4ComponentGGHadronNucleusXsc_h 1
164 static const G4double fNeutronBarCorrectionTot[93];
165 static const G4double fNeutronBarCorrectionIn[93];
167 static const G4double fProtonBarCorrectionTot[93];
168 static const G4double fProtonBarCorrectionIn[93];
170 static const G4double fPionPlusBarCorrectionTot[93];
171 static const G4double fPionPlusBarCorrectionIn[93];
173 static const G4double fPionMinusBarCorrectionTot[93];
174 static const G4double fPionMinusBarCorrectionIn[93];
176 G4double fTotalXsc, fElasticXsc, fInelasticXsc, fProductionXsc, fDiffractionXsc;
235 return fInelasticXsc;
247 if(Z >= 2 && Z <= 92)
249 if( theParticle == theProton )
return fProtonBarCorrectionTot[
Z];
250 else if( theParticle == theNeutron)
return fNeutronBarCorrectionTot[
Z];
251 else if( theParticle == thePiPlus )
return fPionPlusBarCorrectionTot[
Z];
252 else if( theParticle == thePiMinus)
return fPionMinusBarCorrectionTot[
Z];
267 if(Z >= 2 && Z <= 92)
269 if( theParticle == theProton )
return fProtonBarCorrectionIn[
Z];
270 else if( theParticle == theNeutron)
return fNeutronBarCorrectionIn[
Z];
271 else if( theParticle == thePiPlus )
return fPionPlusBarCorrectionIn[
Z];
272 else if( theParticle == thePiMinus)
return fPionMinusBarCorrectionIn[
Z];
G4double GetRatioQE(const G4DynamicParticle *, G4int At, G4int Zt)
G4double GetNucleusRadius(const G4DynamicParticle *, const G4Element *)
G4double GetHadronNucleonXscPDG(const G4DynamicParticle *, const G4Element *)
G4double GetTotalGlauberGribovXsc()
virtual G4double GetProductionElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double A)
G4double GetProductionGlauberGribovXsc()
G4double CalcMandelstamS(const G4double, const G4double, const G4double)
G4ComponentGGHadronNucleusXsc()
G4double GetRatioSD(const G4DynamicParticle *, G4int At, G4int Zt)
void SetEnergyLowerLimit(G4double E)
G4double GetElasticGlauberGribovXsc()
G4double GetInelasticGlauberGribovXsc()
virtual ~G4ComponentGGHadronNucleusXsc()
G4double GetIsoCrossSection(const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0)
G4double GetHNinelasticXscVU(const G4DynamicParticle *, G4int At, G4int Zt)
virtual G4double GetInelasticIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int A)
G4double GetHadronNucleonXscNS(const G4DynamicParticle *, const G4Element *)
G4double GetDiffractionGlauberGribovXsc()
virtual G4double GetInelasticElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double A)
G4double GetHadronNucleonXsc(const G4DynamicParticle *, const G4Element *)
G4double GetHNinelasticXsc(const G4DynamicParticle *, const G4Element *)
G4double GetElasticGlauberGribov(const G4DynamicParticle *, G4int Z, G4int A)
G4double GetParticleBarCorIn(const G4ParticleDefinition *theParticle, G4int Z)
virtual void CrossSectionDescription(std::ostream &) const
virtual G4double GetTotalIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int A)
virtual G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int A)
G4double CalculateEcmValue(const G4double, const G4double, const G4double)
G4bool IsIsoApplicable(const G4DynamicParticle *aDP, G4int Z, G4int A, const G4Element *elm=0, const G4Material *mat=0)
G4double GetInelasticGlauberGribov(const G4DynamicParticle *, G4int Z, G4int A)
virtual G4double GetTotalElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double A)
virtual G4double GetElasticElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double A)
G4double GetKaonNucleonXscVector(const G4DynamicParticle *, G4int At, G4int Zt)
virtual G4double ComputeQuasiElasticRatio(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int A)
G4double GetParticleBarCorTot(const G4ParticleDefinition *theParticle, G4int Z)
G4double GetRadiusConst()
virtual G4double GetProductionIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int A)