- Timestamp:
- Nov 5, 2010, 3:45:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/cross_sections/src/G4PhotoNuclearCrossSection.cc
r1337 r1340 26 26 // 27 27 // The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02 28 // GEANT4 tag $Name: geant4-09-04-beta-01$28 // GEANT4 tag $Name: hadr-cross-V09-03-12 $ 29 29 // 30 30 // … … 40 40 41 41 #include "G4PhotoNuclearCrossSection.hh" 42 #include "G4HadTmpUtil.hh" 42 43 43 44 // Initialization of the statics … … 59 60 // Last value of the ShadowingPomeron (A-dependent) 60 61 61 std::vector<G4double*> G4PhotoNuclearCrossSection::GDR; // Vector of pointers to the GDRPhotonuclearCrossSection 62 std::vector<G4double*> G4PhotoNuclearCrossSection::HEN; // Vector of pointers to the HighEnPhotonuclearCrossSect 62 63 // Vector of pointers to the GDRPhotonuclearCrossSection 64 std::vector<G4double*> G4PhotoNuclearCrossSection::GDR; 65 66 // Vector of pointers to the HighEnPhotonuclearCrossSect 67 std::vector<G4double*> G4PhotoNuclearCrossSection::HEN; 68 63 69 64 70 G4PhotoNuclearCrossSection::G4PhotoNuclearCrossSection() 65 { 66 } 71 {} 72 67 73 68 74 G4PhotoNuclearCrossSection::~G4PhotoNuclearCrossSection() … … 92 98 G4IsotopeVector* isoVector = anEle->GetIsotopeVector(); 93 99 G4double* abundVector = anEle->GetRelativeAbundanceVector(); 94 G4 doubleZZ;95 G4 doubleAA;100 G4int ZZ; 101 G4int AA; 96 102 97 103 for (G4int i = 0; i < nIso; i++) { 98 ZZ = G4double( (*isoVector)[i]->GetZ());99 AA = G4double( (*isoVector)[i]->GetN());104 ZZ = (*isoVector)[i]->GetZ(); 105 AA = (*isoVector)[i]->GetN(); 100 106 psig = GetIsoZACrossSection(aPart, ZZ, AA, temperature); 101 107 cross_section += psig*abundVector[i]; … … 103 109 104 110 } else { 105 cross_section = 106 GetIsoZACrossSection(aPart, anEle->GetZ(), anEle->GetN(), temperature); 111 G4int ZZ = G4lrint(anEle->GetZ()); 112 G4int AA = G4lrint(anEle->GetN()); 113 cross_section = GetZandACrossSection(aPart, ZZ, AA, temperature); 107 114 } 108 115 … … 112 119 113 120 G4double 114 G4PhotoNuclearCrossSection::Get IsoZACrossSection(const G4DynamicParticle* aPart,115 G4 double ZZ, G4doubleAA,121 G4PhotoNuclearCrossSection::GetZandACrossSection(const G4DynamicParticle* aPart, 122 G4int ZZ, G4int AA, 116 123 G4double /*temperature*/) 117 124 { … … 146 153 // 147 154 const G4double Energy = aPart->GetKineticEnergy()/MeV; 148 const G4int targetAtomicNumber = static_cast<int>(AA+.499); //@@ Nat mixture (?!)149 const G4int targZ = static_cast<int>(ZZ);155 const G4int targetAtomicNumber = AA; //@@ Nat mixture (?!) 156 const G4int targZ = ZZ; 150 157 const G4int targN = targetAtomicNumber-targZ; 151 158 #ifdef debug … … 1609 1616 1610 1617 static const G4double SH10[nH]={ 1611 3.918292 e+00,3.904931e+00,3.893792e+00,3.886847e+00,3.886858e+00,3.897612e+00,3.924175e+00,1612 3.973155 e+00,4.052892e+00,4.173448e+00,4.346251e+00,4.583168e+00,4.894929e+00,5.289011e+00,1613 5.767472 e+00,6.325587e+00,6.952077e+00,7.631192e+00,8.346046e+00,9.081993e+00,9.828955e+00,1614 1.058224e+01,1.134205e+01,1.211228e+01,1.289914e+01,1.370979e+01,1.455140e+01,1.543028e+01,1615 1.635126e+01,1.731704e+01,1.832759e+01,1.937949e+01,2.046524e+01,2.157253e+01,2.268371e+01,1618 3.918292, 3.904931, 3.893792, 3.886847, 3.886858, 3.897612, 3.924175, 1619 3.973155, 4.052892, 4.173448, 4.346251, 4.583168, 4.894929, 5.289011, 1620 5.767472, 6.325587, 6.952077, 7.631192, 8.346046, 9.081993, 9.828955, 1621 10.58224, 11.34205, 12.11228, 12.89914, 13.70979, 14.55140, 15.43028, 1622 16.35126, 17.31704, 18.32759, 19.37949, 20.46524, 21.57253, 22.68371, 1616 1623 2.377554e+01,2.481942e+01,2.578236e+01,2.662884e+01,2.732355e+01,2.783477e+01,2.813791e+01, 1617 1624 2.821866e+01,2.807489e+01,2.771701e+01,2.716665e+01,2.645395e+01,2.561414e+01,2.468397e+01,
Note: See TracChangeset
for help on using the changeset viewer.