Ignore:
Timestamp:
Dec 22, 2010, 3:52:27 PM (15 years ago)
Author:
garnier
Message:

geant4 tag 9.4

Location:
trunk/source/processes/hadronic/cross_sections/src
Files:
13 edited

Legend:

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

    r1340 r1347  
    5656// Beta release
    5757//
    58 // 30. May 2005, J.P. Wellisch removed a compilation warning on gcc 3.4 for
     58// 30 May 2005, J.P. Wellisch removed a compilation warning on gcc 3.4 for
    5959//               geant4 7.1.
     60// 09 November 2010, V.Ivanchenko make class applicable for Hydrogen but
     61//                   set cross section for Hydrogen to zero 
    6062//
    6163// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    9799G4bool
    98100G4EMDissociationCrossSection::IsIsoApplicable(const G4DynamicParticle* theDynamicParticle,
    99                                               G4int /*ZZ*/, G4int AA)
     101                                              G4int /*ZZ*/, G4int/* AA*/)
    100102{
    101103//
     
    107109//
    108110  if (G4ParticleTable::GetParticleTable()->GetIonTable()->
    109     IsIon(theDynamicParticle->GetDefinition()) && AA > 1)
     111      IsIon(theDynamicParticle->GetDefinition()) /*&& AA > 1*/)
    110112    return true;
    111113  else
     
    127129  G4int nIso = theElement->GetNumberOfIsotopes();
    128130  G4double crossSection = 0;
     131
     132  // VI protection for Hydrogen
     133  if(theElement->GetZ() < 1.5) { return crossSection; }
    129134     
    130135  if (nIso) {
     
    156161                                                   G4int ZZ, G4int AA, G4double /*temperature*/)
    157162{
     163  // VI protection for Hydrogen
     164  if(ZZ <= 1) { return 0.0; }
     165
    158166//
    159167// Get relevant information about the projectile and target (A, Z) and
  • trunk/source/processes/hadronic/cross_sections/src/G4GGNuclNuclCrossSection.cc

    r1340 r1347  
    2424// ********************************************************************
    2525//
    26 //
    2726// 24.11.08 V. Grichine - first implementation
    2827//
     
    3635
    3736
    38 ///////////////////////////////////////////////////////////////////////////////
    39 //
    40 //
    41 
    4237G4GGNuclNuclCrossSection::G4GGNuclNuclCrossSection()
    4338: fUpperLimit( 100000 * GeV ),
    4439  fLowerLimit( 0.1 * MeV ),
    45   fRadiusConst( 1.08*fermi )  // 1.1, 1.3 ?
     40  fRadiusConst( 1.08*fermi ),  // 1.1, 1.3 ?
     41  fTotalXsc(0.0), fElasticXsc(0.0), fInelasticXsc(0.0), fProductionXsc(0.0),
     42  fDiffractionXsc(0.0), fHadronNucleonXsc(0.0)
    4643{
    4744  theProton   = G4Proton::Proton();
     
    4946}
    5047
    51 ///////////////////////////////////////////////////////////////////////////////
    52 //
    53 //
    5448
    5549G4GGNuclNuclCrossSection::~G4GGNuclNuclCrossSection()
    5650{}
    57 
    58 ///////////////////////////////////////////////////////////////////////////////
    59 //
    60 //
    6151
    6252
  • trunk/source/processes/hadronic/cross_sections/src/G4GlauberGribovCrossSection.cc

    r1340 r1347  
    3737#include "G4ParticleDefinition.hh"
    3838
    39 //////////////////////////////////////////////////////////////////////////////////////
    40 //
     39///////////////////////////////////////////////////////////////////////////////
    4140//
    4241
     
    218217
    219218
    220 
    221 
    222 ////////////////////////////////////////////////////////////////////////////////
    223 //
     219//////////////////////////////////////////////////////////////////////////////
    224220//
    225221
     
    227223: fUpperLimit( 100000 * GeV ),
    228224  fLowerLimit( 3 * GeV ),
    229   fRadiusConst( 1.08*fermi )  // 1.1, 1.3 ?
     225  fRadiusConst( 1.08*fermi ),  // 1.1, 1.3 ?
     226  fTotalXsc(0.0), fElasticXsc(0.0), fInelasticXsc(0.0), fProductionXsc(0.0),
     227  fDiffractionXsc(0.0), fHadronNucleonXsc(0.0)
    230228{
    231229  theGamma    = G4Gamma::Gamma();
  • trunk/source/processes/hadronic/cross_sections/src/G4HadronNucleonXsc.cc

    r1340 r1347  
    2424// ********************************************************************
    2525//
    26 //
    2726// 14.03.07 V. Grichine - first implementation
    2827//
     
    3837G4HadronNucleonXsc::G4HadronNucleonXsc()
    3938: fUpperLimit( 10000 * GeV ),
    40   fLowerLimit( 0.03 * MeV )
     39  fLowerLimit( 0.03 * MeV ),
     40  fTotalXsc(0.0), fElasticXsc(0.0), fInelasticXsc(0.0), fHadronNucleonXsc(0.0)
    4141{
    4242  theGamma    = G4Gamma::Gamma();
     
    7272}
    7373
    74 ///////////////////////////////////////////////////////////////////////////////////////
    75 //
    76 //
    7774
    7875G4HadronNucleonXsc::~G4HadronNucleonXsc()
    7976{}
    80 
    81 
    82 ////////////////////////////////////////////////////////////////////////////////////////
    83 //
    84 //
    8577
    8678
  • trunk/source/processes/hadronic/cross_sections/src/G4IonsKoxCrossSection.cc

    r1340 r1347  
    107107    G4int ZZ = G4lrint(anElement->GetZ());
    108108    G4int AA = G4lrint(anElement->GetN());
    109     xsection = GetIsoZACrossSection(aParticle, ZZ, AA, temperature);
     109    xsection = GetZandACrossSection(aParticle, ZZ, AA, temperature);
    110110  }
    111111   
  • trunk/source/processes/hadronic/cross_sections/src/G4IonsShenCrossSection.cc

    r1340 r1347  
    109109      ZZ = (*isoVector)[i]->GetZ();
    110110      AA = (*isoVector)[i]->GetN();
    111       sig = GetIsoZACrossSection(aParticle, ZZ, AA, temperature);
     111      sig = GetZandACrossSection(aParticle, ZZ, AA, temperature);
    112112      xsection += sig*abundVector[i];
    113113    }
     
    116116    G4int ZZ = G4lrint(anElement->GetZ());
    117117    G4int AA = G4lrint(anElement->GetN());
    118     xsection = GetIsoZACrossSection(aParticle, ZZ, AA, temperature);
     118    xsection = GetZandACrossSection(aParticle, ZZ, AA, temperature);
    119119  }
    120120 
  • trunk/source/processes/hadronic/cross_sections/src/G4IonsSihverCrossSection.cc

    r1340 r1347  
    7373      ZZ = (*isoVector)[i]->GetZ();
    7474      AA = (*isoVector)[i]->GetN();
    75       sig = GetIsoZACrossSection(aParticle, ZZ, AA, temperature);
     75      sig = GetZandACrossSection(aParticle, ZZ, AA, temperature);
    7676      xsection += sig*abundVector[i];
    7777    }
     
    8080    G4int ZZ = G4lrint(anElement->GetZ());
    8181    G4int AA = G4lrint(anElement->GetN());
    82     xsection = GetIsoZACrossSection(aParticle, ZZ, AA, temperature);
     82    xsection = GetZandACrossSection(aParticle, ZZ, AA, temperature);
    8383  }
    8484   
  • trunk/source/processes/hadronic/cross_sections/src/G4NucleonNuclearCrossSection.cc

    r1340 r1347  
    449449
    450450///////////////////////////////////////////////////////////////////////////////
    451 //
    452 //
    453451
    454452G4NucleonNuclearCrossSection::G4NucleonNuclearCrossSection()
     453 :fTotalXsc(0.0), fElasticXsc(0.0)
    455454{
    456455  theNeutron = G4Neutron::Neutron();
  • trunk/source/processes/hadronic/cross_sections/src/G4PiNuclearCrossSection.cc

    r1340 r1347  
    301301  1970, 1980, 1950, 1978, 1830, 1780};
    302302
    303  G4PiNuclearCrossSection::
    304  G4PiNuclearCrossSection()
     303
     304G4PiNuclearCrossSection::G4PiNuclearCrossSection()
     305  : fTotalXsc(0.0), fElasticXsc(0.0)
    305306 {
    306307   thePimData.push_back(new G4PiData(he_t,   he_in,  e1, 38));
  • trunk/source/processes/hadronic/cross_sections/src/G4TripathiCrossSection.cc

    r1340 r1347  
    169169    G4int ZZ = G4lrint(anEle->GetZ());
    170170    G4int AA = G4lrint(anEle->GetN());
    171     xsection = GetIsoZACrossSection(aPart, ZZ, AA, temperature);
     171    xsection = GetZandACrossSection(aPart, ZZ, AA, temperature);
    172172  }
    173173
  • trunk/source/processes/hadronic/cross_sections/src/G4TripathiLightCrossSection.cc

    r1340 r1347  
    5555// 15 March 2004, P R Truscott, QinetiQ Ltd, UK
    5656// Beta release
     57//
     58// J. M. Quesada 24 November 2010 bug fixed in X_m
     59//(according to eq. 14 in  R.K. Tripathi et al. Nucl. Instr. and Meth. in Phys. Res. B 155 (1999) 349-356)
    5760//
    5861// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    247250  }
    248251  G4double S_L = 1.2 + 1.6*(1.0-std::exp(-E/15.0));
    249   G4double X_m = 1.0 - X1*std::exp(-E/X1*S_L);
     252//JMQ 241110 bug fixed
     253//  G4double X_m = 1.0 - X1*std::exp(-E/X1*S_L);
     254  G4double X_m = 1.0 - X1*std::exp(-E/(X1*S_L));
    250255//
    251256//
     
    341346    G4int ZZ = G4lrint(theTarget->GetZ());
    342347    G4int AA = G4lrint(theTarget->GetN());
    343     xsection = GetIsoZACrossSection(theProjectile, ZZ, AA, theTemperature);
     348    xsection = GetZandACrossSection(theProjectile, ZZ, AA, theTemperature);
    344349  }
    345350   
  • trunk/source/processes/hadronic/cross_sections/src/G4UElasticCrossSection.cc

    r1340 r1347  
    3030// 06.03.07 V.Ivanchenko - add Initialise function
    3131//
    32 //
    33 
    3432
    3533#include "G4UElasticCrossSection.hh"
     
    4846#include "G4NistManager.hh"
    4947
    50 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    5148
    5249G4UElasticCrossSection::G4UElasticCrossSection(const G4ParticleDefinition*)
     
    5552  hasGlauber = false;
    5653  thEnergy   = 90.*GeV;
     54  for (G4int i = 0; i < 93; i++) theFac[i] = 0.0;
    5755  fGlauber   = new G4GlauberGribovCrossSection();
    5856  fGheisha   = G4HadronCrossSections::Instance();
     
    6159}
    6260
    63 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    6461
    6562G4UElasticCrossSection::~G4UElasticCrossSection()
     
    7572                                              const G4Element*  elm)
    7673{
    77   return IsZAApplicable(dp, elm->GetZ(), elm->GetN());
     74  return IsIsoApplicable(dp, G4lrint(elm->GetZ()), G4lrint(elm->GetN()));
    7875}
    7976
     
    186183  G4int A = G4lrint(nist->GetAtomicMassAmu(2));
    187184
    188   if(fGlauber->IsZAApplicable(&dp, 2.0, A)) {
     185  if(fGlauber->IsIsoApplicable(&dp, 2, A)) {
    189186    hasGlauber = true;
    190187
  • trunk/source/processes/hadronic/cross_sections/src/G4UInelasticCrossSection.cc

    r1340 r1347  
    3030// 06.03.07 V.Ivanchenko - add Initialise function
    3131//
    32 //
    3332
    3433
     
    4847#include "G4NistManager.hh"
    4948
    50 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    5149
    5250G4UInelasticCrossSection::G4UInelasticCrossSection(const G4ParticleDefinition*)
     
    5553  hasGlauber = false;
    5654  thEnergy   = 90.*GeV;
     55  for (G4int i = 0; i < 93; i++) theFac[i] = 0.0;
    5756  fGlauber   = new G4GlauberGribovCrossSection();
    5857  fGheisha   = G4HadronCrossSections::Instance();
     
    6160}
    6261
    63 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    6462
    6563G4UInelasticCrossSection::~G4UInelasticCrossSection()
     
    7573                                              const G4Element*  elm)
    7674{
    77   return IsZAApplicable(dp, elm->GetZ(), elm->GetN());
     75  return IsIsoApplicable(dp, G4lrint(elm->GetZ()), G4lrint(elm->GetN()));
    7876}
    7977
     
    102100  G4int Z = G4lrint(elm->GetZ());
    103101  G4int N = G4lrint(elm->GetN());
    104   return GetIsoZACrossSection(dp, Z, N, temp);
     102  return GetZandACrossSection(dp, Z, N, temp);
    105103}
    106104
     
    121119      cross = theFac[Z]*fGlauber->GetInelasticGlauberGribov(dp, Z, A);
    122120    } else {
    123       cross = fNucleon->GetIsoZACrossSection(dp, Z, A);
     121      cross = fNucleon->GetZandACrossSection(dp, Z, A);
    124122    }
    125123
     
    195193      // proton and neutron
    196194      if(fNucleon) {
    197         csdn = fNucleon->GetIsoZACrossSection(&dp, iz, A);
     195        csdn = fNucleon->GetZandACrossSection(&dp, iz, A);
    198196
    199197        // pions
Note: See TracChangeset for help on using the changeset viewer.