39 #ifndef G4ComponentGGHadronNucleusXsc_h
40 #define G4ComponentGGHadronNucleusXsc_h 1
169 static const G4double fNeutronBarCorrectionTot[93];
170 static const G4double fNeutronBarCorrectionIn[93];
172 static const G4double fProtonBarCorrectionTot[93];
173 static const G4double fProtonBarCorrectionIn[93];
175 static const G4double fPionPlusBarCorrectionTot[93];
176 static const G4double fPionPlusBarCorrectionIn[93];
178 static const G4double fPionMinusBarCorrectionTot[93];
179 static const G4double fPionMinusBarCorrectionIn[93];
181 G4double fTotalXsc, fElasticXsc, fInelasticXsc, fProductionXsc, fDiffractionXsc;
241 return fInelasticXsc;
253 if(Z >= 2 && Z <= 92)
255 if( theParticle == theProton )
return fProtonBarCorrectionTot[
Z];
256 else if( theParticle == theNeutron)
return fNeutronBarCorrectionTot[
Z];
257 else if( theParticle == thePiPlus )
return fPionPlusBarCorrectionTot[
Z];
258 else if( theParticle == thePiMinus)
return fPionMinusBarCorrectionTot[
Z];
273 if(Z >= 2 && Z <= 92)
275 if( theParticle == theProton )
return fProtonBarCorrectionIn[
Z];
276 else if( theParticle == theNeutron)
return fNeutronBarCorrectionIn[
Z];
277 else if( theParticle == thePiPlus )
return fPionPlusBarCorrectionIn[
Z];
278 else if( theParticle == thePiMinus)
return fPionMinusBarCorrectionIn[
Z];
G4double GetRatioQE(const G4DynamicParticle *, G4int At, G4int Zt)
static const char * Default_Name()
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)
double A(double temperature)
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)
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)