Changeset 1340 for trunk/source/processes/hadronic/cross_sections/include/G4GlauberGribovCrossSection.hh
- Timestamp:
- Nov 5, 2010, 3:45:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/cross_sections/include/G4GlauberGribovCrossSection.hh
r1228 r1340 47 47 #include "G4Proton.hh" 48 48 #include "G4Nucleus.hh" 49 #include "G4HadTmpUtil.hh" 49 50 50 51 #include "G4VCrossSectionDataSet.hh" … … 63 64 64 65 virtual 65 G4bool Is ZAApplicable(const G4DynamicParticle* aDP, G4double Z, G4doubleA);66 G4bool IsIsoApplicable(const G4DynamicParticle* aDP, G4int Z, G4int A); 66 67 67 68 virtual … … 71 72 72 73 virtual 73 G4double Get IsoZACrossSection(const G4DynamicParticle*,74 G4double Z, G4double A, 75 74 G4double GetZandACrossSection(const G4DynamicParticle*, 75 G4int Z, G4int A, 76 G4double aTemperature = 0.0); 76 77 77 78 virtual … … 83 84 {G4cout << "G4GlauberGribovCrossSection: uses Glauber-Gribov formula"<<G4endl;} 84 85 85 G4double GetRatioSD(const G4DynamicParticle*, G4 double At, G4doubleZt);86 G4double GetRatioQE(const G4DynamicParticle*, G4 double At, G4doubleZt);86 G4double GetRatioSD(const G4DynamicParticle*, G4int At, G4int Zt); 87 G4double GetRatioQE(const G4DynamicParticle*, G4int At, G4int Zt); 87 88 88 89 G4double GetHadronNucleonXsc(const G4DynamicParticle*, const G4Element*); 89 G4double GetHadronNucleonXsc(const G4DynamicParticle*, G4 double At, G4doubleZt);90 G4double GetHadronNucleonXsc(const G4DynamicParticle*, G4int At, G4int Zt); 90 91 91 92 G4double GetHadronNucleonXscPDG(const G4DynamicParticle*, const G4Element*); 92 G4double GetHadronNucleonXscPDG(const G4DynamicParticle*, G4 double At, G4doubleZt);93 G4double GetHadronNucleonXscPDG(const G4DynamicParticle*, G4int At, G4int Zt); 93 94 94 95 G4double GetHadronNucleonXscNS(const G4DynamicParticle*, const G4Element*); 95 G4double GetHadronNucleonXscNS(const G4DynamicParticle*, G4double At, G4doubleZt);96 G4double GetHadronNucleonXscNS(const G4DynamicParticle*, G4int At, G4int Zt); 96 97 97 98 G4double GetHNinelasticXsc(const G4DynamicParticle*, const G4Element*); 98 G4double GetHNinelasticXsc(const G4DynamicParticle*, G4 double At, G4doubleZt);99 G4double GetHNinelasticXscVU(const G4DynamicParticle*, G4 double At, G4doubleZt);99 G4double GetHNinelasticXsc(const G4DynamicParticle*, G4int At, G4int Zt); 100 G4double GetHNinelasticXscVU(const G4DynamicParticle*, G4int At, G4int Zt); 100 101 101 102 G4double CalculateEcmValue ( const G4double , const G4double , const G4double ); … … 103 104 G4double CalcMandelstamS( const G4double , const G4double , const G4double ); 104 105 105 G4double GetElasticGlauberGribov(const G4DynamicParticle*, G4double Z, G4doubleA);106 G4double GetInelasticGlauberGribov(const G4DynamicParticle*, G4double Z, G4doubleA);106 G4double GetElasticGlauberGribov(const G4DynamicParticle*, G4int Z, G4int A); 107 G4double GetInelasticGlauberGribov(const G4DynamicParticle*, G4int Z, G4int A); 107 108 108 109 G4double GetTotalGlauberGribovXsc() { return fTotalXsc; }; … … 114 115 115 116 G4double GetNucleusRadius(const G4DynamicParticle*, const G4Element*); 116 G4double GetNucleusRadius(G4 doubleAt);117 118 inline G4double GetParticleBarCorTot( const G4ParticleDefinition* theParticle, G4double Z);119 inline G4double GetParticleBarCorIn( const G4ParticleDefinition* theParticle, G4double Z);117 G4double GetNucleusRadius(G4int At); 118 119 inline G4double GetParticleBarCorTot(const G4ParticleDefinition* theParticle, G4int Z); 120 inline G4double GetParticleBarCorIn(const G4ParticleDefinition* theParticle, G4int Z); 120 121 121 122 inline void SetEnergyLowerLimit(G4double E ){fLowerLimit=E;}; … … 180 181 181 182 inline 182 G4double G4GlauberGribovCrossSection::GetElasticGlauberGribov( 183 const G4DynamicParticle* dp, G4double Z, G4double A) 184 { 185 GetIsoZACrossSection(dp, Z, A); 183 G4double 184 G4GlauberGribovCrossSection::GetElasticGlauberGribov(const G4DynamicParticle* dp, 185 G4int Z, G4int A) 186 { 187 GetZandACrossSection(dp, Z, A); 186 188 return fElasticXsc; 187 189 } … … 190 192 191 193 inline 192 G4double G4GlauberGribovCrossSection::GetInelasticGlauberGribov( 193 const G4DynamicParticle* dp, G4double Z, G4double A) 194 { 195 GetIsoZACrossSection(dp, Z, A); 194 G4double 195 G4GlauberGribovCrossSection::GetInelasticGlauberGribov(const G4DynamicParticle* dp, 196 G4int Z, G4int A) 197 { 198 GetZandACrossSection(dp, Z, A); 196 199 return fInelasticXsc; 197 200 } … … 204 207 205 208 inline G4double G4GlauberGribovCrossSection::GetParticleBarCorTot( 206 const G4ParticleDefinition* theParticle, G4double Z ) 207 { 208 G4int iZ = G4int(Z); 209 210 if( iZ >= 2 && iZ <= 92) 209 const G4ParticleDefinition* theParticle, G4int Z) 210 { 211 if(Z >= 2 && Z <= 92) 211 212 { 212 if( theParticle == theProton ) return fProtonBarCorrectionTot[ iZ];213 else if( theParticle == theNeutron) return fNeutronBarCorrectionTot[ iZ];214 else if( theParticle == thePiPlus ) return fPionPlusBarCorrectionTot[ iZ];215 else if( theParticle == thePiMinus) return fPionMinusBarCorrectionTot[ iZ];213 if( theParticle == theProton ) return fProtonBarCorrectionTot[Z]; 214 else if( theParticle == theNeutron) return fNeutronBarCorrectionTot[Z]; 215 else if( theParticle == thePiPlus ) return fPionPlusBarCorrectionTot[Z]; 216 else if( theParticle == thePiMinus) return fPionMinusBarCorrectionTot[Z]; 216 217 else return 1.0; 217 218 } … … 226 227 227 228 inline G4double G4GlauberGribovCrossSection::GetParticleBarCorIn( 228 const G4ParticleDefinition* theParticle, G4double Z ) 229 { 230 G4int iZ = G4int(Z); 231 232 if( iZ >= 2 && iZ <= 92) 229 const G4ParticleDefinition* theParticle, G4int Z) 230 { 231 if(Z >= 2 && Z <= 92) 233 232 { 234 if( theParticle == theProton ) return fProtonBarCorrectionIn[ iZ];235 else if( theParticle == theNeutron) return fNeutronBarCorrectionIn[ iZ];236 else if( theParticle == thePiPlus ) return fPionPlusBarCorrectionIn[ iZ];237 else if( theParticle == thePiMinus) return fPionMinusBarCorrectionIn[ iZ];233 if( theParticle == theProton ) return fProtonBarCorrectionIn[Z]; 234 else if( theParticle == theNeutron) return fNeutronBarCorrectionIn[Z]; 235 else if( theParticle == thePiPlus ) return fPionPlusBarCorrectionIn[Z]; 236 else if( theParticle == thePiMinus) return fPionMinusBarCorrectionIn[Z]; 238 237 else return 1.0; 239 238 }
Note: See TracChangeset
for help on using the changeset viewer.