Ignore:
Timestamp:
Sep 30, 2010, 2:47:17 PM (14 years ago)
Author:
garnier
Message:

tag geant4.9.4 beta 1 + modifs locales

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

Legend:

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

    r1228 r1337  
    2525//
    2626// $Id: G4BGGNucleonElasticXS.cc,v 1.7 2009/11/19 19:40:45 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-03 $
     27// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/cross_sections/src/G4BGGNucleonInelasticXS.cc

    r1228 r1337  
    2525//
    2626// $Id: G4BGGNucleonInelasticXS.cc,v 1.7 2009/11/19 19:40:45 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-03 $
     27// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/cross_sections/src/G4BGGPionElasticXS.cc

    r1228 r1337  
    2525//
    2626// $Id: G4BGGPionElasticXS.cc,v 1.7 2009/11/19 19:40:45 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-03 $
     27// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/cross_sections/src/G4BGGPionInelasticXS.cc

    r1228 r1337  
    2525//
    2626// $Id: G4BGGPionInelasticXS.cc,v 1.8 2009/11/19 19:40:45 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-03 $
     27// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/cross_sections/src/G4CrossSectionDataSetRegistry.cc

    r1315 r1337  
    2626//
    2727// $Id: G4CrossSectionDataSetRegistry.cc,v 1.7 2010/03/25 15:28:22 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2929//
    3030// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/cross_sections/src/G4CrossSectionDataStore.cc

    r1315 r1337  
    2525//
    2626// $Id: G4CrossSectionDataStore.cc,v 1.18 2010/06/02 09:33:16 gunter Exp $
    27 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     27// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/cross_sections/src/G4ElectroNuclearCrossSection.cc

    r1228 r1337  
    2626//
    2727// $Id: G4ElectroNuclearCrossSection.cc,v 1.29 2008/10/24 19:15:17 dennis Exp $
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2929//
    3030//
  • trunk/source/processes/hadronic/cross_sections/src/G4GlauberGribovCrossSection.cc

    r1228 r1337  
    2424// ********************************************************************
    2525//
    26 //
     26// author: V. Grichine
     27//
    2728// 17.07.06 V. Grichine - first implementation
    2829// 22.01.07 V.Ivanchenko - add interface with Z and A
    2930// 05.03.07 V.Ivanchenko - add IfZAApplicable
    30 //
     31// 11.06.10 V. Grichine - update for antiprotons
    3132
    3233#include "G4GlauberGribovCrossSection.hh"
     
    361362  // cofInelastic = 2.0;
    362363
    363 
    364   nucleusSquare = cofTotal*pi*R*R;   // basically 2piRR
    365   ratio = sigma/nucleusSquare;
    366 
    367   xsection =  nucleusSquare*std::log( 1. + ratio );
    368 
    369   xsection *= GetParticleBarCorTot(theParticle, Z);
    370 
    371   fTotalXsc = xsection;
     364  if( A > 1.5 )
     365  {
     366    nucleusSquare = cofTotal*pi*R*R;   // basically 2piRR
     367    ratio = sigma/nucleusSquare;
     368
     369    xsection =  nucleusSquare*std::log( 1. + ratio );
     370
     371    xsection *= GetParticleBarCorTot(theParticle, Z);
     372
     373    fTotalXsc = xsection;
    372374
    373375 
    374376
    375   fInelasticXsc = nucleusSquare*std::log( 1. + cofInelastic*ratio )/cofInelastic;
    376 
    377   fInelasticXsc *= GetParticleBarCorIn(theParticle, Z);
    378 
    379   fElasticXsc   = fTotalXsc - fInelasticXsc;
     377    fInelasticXsc = nucleusSquare*std::log( 1. + cofInelastic*ratio )/cofInelastic;
     378
     379    fInelasticXsc *= GetParticleBarCorIn(theParticle, Z);
     380
     381    fElasticXsc   = fTotalXsc - fInelasticXsc;
    380382
    381383   
    382   G4double difratio = ratio/(1.+ratio);
    383 
    384   fDiffractionXsc = 0.5*nucleusSquare*( difratio - std::log( 1. + difratio ) );
    385 
    386 
    387   sigma = GetHNinelasticXsc(aParticle, A, Z);
    388   ratio = sigma/nucleusSquare;
    389 
    390   fProductionXsc = nucleusSquare*std::log( 1. + cofInelastic*ratio )/cofInelastic;
    391 
    392   if (fElasticXsc < 0.) fElasticXsc = 0.;
    393 
     384    G4double difratio = ratio/(1.+ratio);
     385
     386    fDiffractionXsc = 0.5*nucleusSquare*( difratio - std::log( 1. + difratio ) );
     387
     388
     389    sigma = GetHNinelasticXsc(aParticle, A, Z);
     390    ratio = sigma/nucleusSquare;
     391
     392    fProductionXsc = nucleusSquare*std::log( 1. + cofInelastic*ratio )/cofInelastic;
     393
     394    if (fElasticXsc < 0.) fElasticXsc = 0.;
     395  }
     396  else // H
     397  {
     398    fTotalXsc = sigma;
     399    xsection  = sigma;
     400   
     401    if ( theParticle != theAProton )
     402    {
     403      sigma         = GetHNinelasticXsc(aParticle, A, Z);
     404      fInelasticXsc = sigma;
     405      fElasticXsc   = fTotalXsc - fInelasticXsc;     
     406    }
     407    else
     408    {
     409      fElasticXsc   = fTotalXsc - fInelasticXsc;
     410    }
     411    if (fElasticXsc < 0.) fElasticXsc = 0.;
     412     
     413  }
    394414  return xsection;
    395415}
     
    607627
    608628  G4double Nt = At-Zt;              // number of neutrons
     629
    609630  if (Nt < 0.) Nt = 0.; 
    610631
     
    740761
    741762  G4double Nt = At-Zt;              // number of neutrons
     763
    742764  if (Nt < 0.) Nt = 0.; 
    743765
     
    887909    // xsection *= 0.95;
    888910  }
    889   else if(theParticle == theAProton)
    890   {
    891     xsection  = Zt*( 35.45 + B*std::pow(std::log(sMand/s0),2.)
    892                           + 42.53*std::pow(sMand,-eta1) + 33.34*std::pow(sMand,-eta2));
    893 
    894     xsection += Nt*( 35.80 + B*std::pow(std::log(sMand/s0),2.)
    895                           + 40.15*std::pow(sMand,-eta1) + 30.*std::pow(sMand,-eta2));
    896   }
    897   else if(theParticle == thePiPlus)
     911  else if( theParticle == theAProton )
     912  {
     913    // xsection  = Zt*( 35.45 + B*std::pow(std::log(sMand/s0),2.)
     914    //                       + 42.53*std::pow(sMand,-eta1) + 33.34*std::pow(sMand,-eta2));
     915
     916    // xsection += Nt*( 35.80 + B*std::pow(std::log(sMand/s0),2.)
     917    //                    + 40.15*std::pow(sMand,-eta1) + 30.*std::pow(sMand,-eta2));
     918
     919    G4double logP = std::log(proj_momentum);
     920
     921    if( proj_momentum <= 1.0 )
     922    {
     923      xsection  = Zt*(65.55 + 53.84/(proj_momentum+1.e-6)  );
     924    }
     925    else
     926    {
     927      xsection  = Zt*( 41.1 + 77.2*std::pow( proj_momentum, -0.68)
     928                       + 0.293*logP*logP - 1.82*logP );
     929    }
     930    if ( Nt > 0.) 
     931    {
     932      xsection += Nt*( 41.9 + 96.2*std::pow( proj_momentum, -0.99) - 0.154*logP);
     933    }
     934    else // H
     935    {
     936      fInelasticXsc =   38.0 + 38.0*std::pow( proj_momentum, -0.96)
     937                        - 0.169*logP*logP;
     938      fInelasticXsc *=  millibarn;
     939    }   
     940  }
     941  else if( theParticle == thePiPlus )
    898942  {
    899943    if(proj_momentum < 0.4)
     
    902946      hpXsc      = Ex3+20.0;
    903947    }
    904     else if(proj_momentum < 1.15)
     948    else if( proj_momentum < 1.15 )
    905949    {
    906950      G4double Ex4 = 88*(std::log(proj_momentum/0.75))*(std::log(proj_momentum/0.75));
     
    11071151  G4double NumberOfTargetNeutrons = NumberOfTargetNucleons - NumberOfTargetProtons;
    11081152
    1109   if(NumberOfTargetNeutrons < 0.) NumberOfTargetNeutrons = 0.;
     1153  if( NumberOfTargetNeutrons < 0.) NumberOfTargetNeutrons = 0.;
    11101154
    11111155  G4double Xtotal, Xelastic, Xinelastic;
     
    12861330  Xinelastic = Xtotal - Xelastic;
    12871331
    1288   if(Xinelastic < 0.) Xinelastic = 0.;
     1332  if( Xinelastic < 0.) Xinelastic = 0.;
    12891333
    12901334  return Xinelastic*= millibarn;
  • trunk/source/processes/hadronic/cross_sections/src/G4HadronCaptureDataSet.cc

    r1228 r1337  
    2626//
    2727// $Id: G4HadronCaptureDataSet.cc,v 1.8 2006/06/29 19:57:35 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2929//
    3030//
  • trunk/source/processes/hadronic/cross_sections/src/G4HadronCrossSections.cc

    r1315 r1337  
    2525//
    2626//
    27 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     27// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2828//
    2929//
  • trunk/source/processes/hadronic/cross_sections/src/G4HadronElasticDataSet.cc

    r1228 r1337  
    2626//
    2727// $Id: G4HadronElasticDataSet.cc,v 1.8 2006/06/29 19:57:39 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2929//
    3030//
  • trunk/source/processes/hadronic/cross_sections/src/G4HadronFissionDataSet.cc

    r1228 r1337  
    2626//
    2727// $Id: G4HadronFissionDataSet.cc,v 1.8 2006/06/29 19:57:41 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2929//
    3030//
  • trunk/source/processes/hadronic/cross_sections/src/G4HadronInelasticDataSet.cc

    r1228 r1337  
    2626//
    2727// $Id: G4HadronInelasticDataSet.cc,v 1.8 2006/06/29 19:57:43 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2929//
    3030//
  • trunk/source/processes/hadronic/cross_sections/src/G4NeutronCaptureXS.cc

    r1315 r1337  
    2525//
    2626// $Id: G4NeutronCaptureXS.cc,v 1.3 2010/06/03 11:50:21 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     27// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/cross_sections/src/G4NeutronElasticXS.cc

    r1315 r1337  
    2525//
    2626// $Id: G4NeutronElasticXS.cc,v 1.4 2010/06/03 11:50:21 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     27// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/cross_sections/src/G4NeutronInelasticXS.cc

    r1315 r1337  
    2525//
    2626// $Id: G4NeutronInelasticXS.cc,v 1.4 2010/06/03 11:50:21 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     27// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/cross_sections/src/G4PhotoNuclearCrossSection.cc

    r1228 r1337  
    2626//
    2727// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02
    28 // GEANT4 tag $Name: geant4-09-03 $
     28// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2929//
    3030//
  • trunk/source/processes/hadronic/cross_sections/src/G4PiData.cc

    r1228 r1337  
    2424// ********************************************************************
    2525//
    26 // GEANT4 tag $Name: geant4-09-03 $
     26// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2727//
    2828// --------------------------------------------------------------------
  • trunk/source/processes/hadronic/cross_sections/src/G4UPiNuclearCrossSection.cc

    r1315 r1337  
    5454  piMinusElastic  ->clearAndDestroy();
    5555  piMinusInelastic->clearAndDestroy();
     56  delete piPlusElastic;
     57  delete piPlusInelastic;
     58  delete piMinusElastic;
     59  delete piMinusInelastic;
    5660}
    5761
  • trunk/source/processes/hadronic/cross_sections/src/G4VCrossSectionDataSet.cc

    r1228 r1337  
    2525//
    2626// $Id: G4VCrossSectionDataSet.cc,v 1.8 2009/01/24 11:54:47 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-03 $
     27// GEANT4 tag $Name: geant4-09-04-beta-01 $
    2828//
    2929// -------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.