Ignore:
Timestamp:
Nov 5, 2010, 3:45:55 PM (14 years ago)
Author:
garnier
Message:

update ti head

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/cross_sections/src/G4PhotoNuclearCrossSection.cc

    r1337 r1340  
    2626//
    2727// 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 $
    2929//
    3030//
     
    4040
    4141#include "G4PhotoNuclearCrossSection.hh"
     42#include "G4HadTmpUtil.hh"
    4243
    4344// Initialization of the statics
     
    5960                            // Last value of the ShadowingPomeron (A-dependent)
    6061
    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
     64std::vector<G4double*> G4PhotoNuclearCrossSection::GDR;
     65
     66// Vector of pointers to the HighEnPhotonuclearCrossSect
     67std::vector<G4double*> G4PhotoNuclearCrossSection::HEN;
     68
    6369
    6470G4PhotoNuclearCrossSection::G4PhotoNuclearCrossSection()
    65 {
    66 }
     71{}
     72
    6773
    6874G4PhotoNuclearCrossSection::~G4PhotoNuclearCrossSection()
     
    9298    G4IsotopeVector* isoVector = anEle->GetIsotopeVector();
    9399    G4double* abundVector = anEle->GetRelativeAbundanceVector();
    94     G4double ZZ;
    95     G4double AA;
     100    G4int ZZ;
     101    G4int AA;
    96102 
    97103    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();
    100106      psig = GetIsoZACrossSection(aPart, ZZ, AA, temperature);
    101107      cross_section += psig*abundVector[i];
     
    103109
    104110  } 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);
    107114  }
    108115 
     
    112119
    113120G4double
    114 G4PhotoNuclearCrossSection::GetIsoZACrossSection(const G4DynamicParticle* aPart,
    115                                                  G4double ZZ, G4double AA,
     121G4PhotoNuclearCrossSection::GetZandACrossSection(const G4DynamicParticle* aPart,
     122                                                 G4int ZZ, G4int AA,
    116123                                                 G4double /*temperature*/)
    117124{
     
    146153  //
    147154  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;
    150157  const G4int targN = targetAtomicNumber-targZ;
    151158#ifdef debug
     
    16091616
    16101617  static const G4double SH10[nH]={
    1611     3.918292e+00,3.904931e+00,3.893792e+00,3.886847e+00,3.886858e+00,3.897612e+00,3.924175e+00,
    1612     3.973155e+00,4.052892e+00,4.173448e+00,4.346251e+00,4.583168e+00,4.894929e+00,5.289011e+00,
    1613     5.767472e+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,
    16161623    2.377554e+01,2.481942e+01,2.578236e+01,2.662884e+01,2.732355e+01,2.783477e+01,2.813791e+01,
    16171624    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.