# Category hadr-cross History

See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top).
It must **not** be used as a substitute for writing good git commit messages!

-------------------------------------------------------------------------------

## 2024-11-15 Vladimir Ivanchenko (hadr-cross-V11-02-18)
- G4ChargeExchangeXS - handle special case of positive meson scattering off
    Hydrogen, the cross section is propotional to the percent of deuterons

## 2024-11-07 Vladimir Ivanchenko (hadr-cross-V11-02-17)
- G4ChargeExchangeXS - switch computations from level of isotopes to level of
    elements, code become several times faster, accuracy is not lost; added
    protections against negative components of cross section and potential
    division by zero, which may be only at extreme high energy.

## 2024-11-03 Vladimir Ivanchenko (hadr-cross-V11-02-16)
- G4ChargeExchangeXS - fixed problem in pion x-sections according
    to prescription of original paper.

## 2024-10-21 Vladimir Ivanchenko (hadr-cross-V11-02-15)
- G4HadronXSDataTable - used const pointers, fixed data structure, and
    provide propery deletion of objects at exit

## 2024-09-22 Vladimir Ivanchenko (hadr-cross-V11-02-14)
- G4ChargeExchangeXS - improve comments to the code, minor clean-up of the code

## 2024-09-09 Vladimir Ivanchenko (hadr-cross-V11-02-13)
- G4InterfaceToXS - new class renamed from G4XSectionXS
- G4ParticleInelasticXS, G4NeutronInelasticXS - clean-up and fix Coverity warnings

## 2024-08-20 Vladimir Ivanchenko (hadr-cross-V11-02-12)
- G4ParticleInelasticXS - perform initialisation of data only for given ion,
    not for all 5 ions

## 2024-08-15 Vladimir Ivanchenko (hadr-cross-V11-02-11)
- G4ParticleInelasticXS, G4NeutronElasticXS - access to G4PARTICLEXSDATA
    in class constructor, optimized usage of mutex lock, do not use isInitializer
    flag anymore.

## 2024-07-23 Vladimir Ivanchenko (hadr-cross-V11-02-10)
- G4GammaNuclearXS - fixed problem 2609 by usage of CHIPS parameterisation for
  Zr and W at all energies, for Cr and Y above 25 MeV, for Sn and Gd above 16 MeV.
  The default transition energy 130 - 150 MeV remains for other targets.

## 2024-07-18 Vladimir Ivanchenko (hadr-cross-V11-02-09)
- G4EMDissociationCrossSection - fixed Coverity warning

## 2024-07-16 Vladimir Ivanchenko (hadr-cross-V11-02-08)
- G4GammaNuclearXS, G4PhotoNuclearCrossSection, G4ParticleInelasticXS,
  G4NeutronInelasticXS - make possibility of reuse of static data when several
    instances of cross section classes are used

## 2024-07-03 Vladimir Ivanchenko (hadr-cross-V11-02-07)
- Fixed Coverity warnings in CHIPS inelastic x-sections and inside
  G4EMDissociationCrossSection 

## 2024-06-18 Vladimir Ivanchenko (hadr-cross-V11-02-06)
- G4BGGNucleonInelasticXS - fixed proton x-section below 14 MeV

## 2024-03-12 Gabriele Cosmo (hadr-cross-V11-02-05)
- In G4NeutronInelasticXS::SelectIsotope(), fixed compilation warnings for
  implicit type conversions detected with macOS/XCode.

## 2024-03-09 Vladimir Ivanchenko (hadr-cross-V11-02-04)
- G4ComponentGGNuclNuclXsc - removed debug printout, added check of G4VERBOSE
- G4BGGPionElasticXS, G4BGGNucleonInelasticXS, G4BGGNucleonElasticXS - added
    check of G4VERBOSE compilation flag
- G4vCrossSectionDataSet - cosmetic change

## 2024-03-07 Vladimir Ivanchenko (hadr-cross-V11-02-03)
- G4HadronXSDataTable - make this class to be a singleton for registration
    and destruction of sttic objects with cross section data, data are deleted
    only end of run
- G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS,
  G4BGGPionInelasticXS, G4ComponentBarNucleonNucleusXsc,
  G4UPiNuclearCrossSection, G4HadronNucleonXsc, G4CrossSectionDataSetRegistry
    - code clean-up: removed "isMaster" checks, removed mutex locks,
    removed unused variables and format the code

## 2024-03-05 Vladimir Ivanchenko (hadr-cross-V11-02-02)
- G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4NeutronInelasticXS,
  G4ComponentBarNucleonNucleusXsc, G4ComponentGGNuclNuclXsc, G4PiData,
  G4NucleonNuclearCrossSection - general clean-up of proton and neutron
    cross sections: removed unused methods, removed not needed mutex locks,
    improved printouts, cross sections outside data tables are equal to
    low or high edge of a table (not zero).

## 2024-02-22 Vladimir Ivanchenko (hadr-cross-V11-02-01)
- G4NeutronCapture - lowest energy limit is set to 10^-5 eV, below this
    energy no computations to avoid numerical problems, improved comments to 
    the code
- G4NeutronInelastic - implement 1/v cross section dependence below low-energy
    limit of a cross section vector if cross section does not start from null
- G4IsotopeList.hh - moved to util sublibrary 

## 2023-12-09 Vladimir Ivanchenko (hadr-cross-V11-02-00)
- G4KokoulinMuonNuclearXS - use faster interface to G4PhysicsVector
- G4ElectroNuclearCrossSection - added low-energy limit 100 MeV for x-section

## 2023-11-18 I. Hrivnacova (hadr-cross-V11-01-16)
- G4PhotoNuclearCrossSection - fix memory leaks

## 2023-10-25 Vladimir Ivanchenko (hadr-cross-V11-01-15)
- G4ChargeExchangeXS - added Set method for the factor multiplying the cross
    section (NA64 request). 

## 2023-10-23 Vladimir Ivanchenko (hadr-cross-V11-01-14)
- G4ChargeExchangeXS - added parameterisation of cross section of eta_prime,
    omega(982), and f2(1270) mesons by V. Lyubovitsly (NA64 CERN);
    optimized usage of G4Pow and avoid recomputation of the same values;
    added low energy limit, below which cross section is set to zero.

## 2023-10-07 Vladimir Ivanchenko (hadr-cross-V11-01-13)
- G4ParticleInelasticXS - make upper energy limit for light ions the same as
    in FTFP_BERT

## 2023-09-14 Vladimir Ivanchenko (hadr-cross-V11-01-12)
- G4NeutronCaptureXS, G4NeutronInelasticXS, G4ParticleInelasticXS - use 
    GetComponentByID(...) instead of GetComponentByIndex(...) allowing to reduce
    memory for isotope data 
- G4GammaNuclearXS - removed debug printout
- G4IsotopeList - extended arrays to be applicable both for G4PARTICLEXSDATA
    and G4PARTICLEHPDATA

## 2023-09-08 Vladimir Ivanchenko (hadr-cross-V11-01-11)
- G4ChargeExchangeXS - (Tim Lok Chau) fixed units

## 2023-09-04 Vladimir Ivanchenko (hadr-cross-V11-01-10)
- G4NeutronCaptureXS, G4NeutronInelasticXS, G4GammaNuclearXS,
  G4ParticleInelasticXS - use std <thread> method to initialize static data 

## 2023-08-14 Michel Maire (hadr-cross-V11-01-09)
- G4CrossSectionDataStore::DumpPhysicsTable(): fix a printing problem

## 2023-08-09 Tim Lok Chau (hadr-cross-V11-01-08)
- G4ChargeExchangeXS - Fill out the content of implementing the charge exchange process

## 2023-07-21 Vladimir Ivanchenko (hadr-cross-V11-01-07)
- G4ChargeExchangeXS - new cross section class for charge exchange process

## 2023-07-17 Vladimir Ivanchenko (hadr-cross-V11-01-06)
- G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS, G4GammaNuclearXS,
  G4ParticleInelasticXS - use the same approach to fill static data, do not
    unlock initialisation inside BuildPhycsTable(..) method until initialisation
    is done, minor code formatting

## 2023-05-24 Vladimir Ivanchenko (hadr-cross-V11-01-05)
- G4GammaNuclearXS - more accurate usage of cache to fix the nightly problems;
    simplified GetIsoCrosssection(..) and SelectIsotope(..) methods

## 2023-05-23 Gabriele Cosmo (hadr-cross-V11-01-04)
- Fixed compilation warnings for implicit type conversions on macOS/XCode>=14.1.

## 2023-05-08 Vladimir Ivanchenko (hadr-cross-V11-01-03)
- G4GammaNuclearXS - general clean-up of the class: instantiate data only once
    for all instances of this x-section class; upload data for all elements
    before the first run; simplified computation of isotope x-section; added
    extra public method LowEnergyCrossSection(..)

## 2023-04-25 Vladimir Ivanchenko (hadr-cross-V11-01-02)
- G4CrossSectionDataStore - removed remaining call to getenv

## 2023-02-17 Vladimir Grichine (hadr-cross-V11-01-01)
- G4ElNeutrinoNucleusTotXsc - uncommented methods for interface with G4ElNeutrinoNucleusProcess

## 2023-01-14 Vladimir Ivanchenko (hadr-cross-V11-01-00)
- G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS, G4GammaNuclearXS,
  G4ParticleInelasticXS - do not call to environment variable G4PARTICLEXSDATA,
    instead use G4HadrpnicParameters access method. Address issue #139 for
    hadronic cross sections
  G4CrossSectionDataStore - reduced number of calls to environment variable,
    which are done only to print html output for documentation

## 2022-11-26 Gabriele Cosmo (hadr-cross-V11-00-15)
- Fixed compilation warnings for implicit type conversions on macOS/XCode 14.1.

## 2022-10-31 Vladimir Grichine (hadr-cross-V11-00-14)
- G4TauNeutrinoNucleusTotXsc - added for tau-neutrinos, based on energy scaled nu_mu XS

## 2022-10-25 Alberto Ribon (hadr-cross-V11-00-13)
- G4ComponentAntiNuclNuclearXS : Vladimir Uzhinsky's bug-fix and extension
  of the GetTotalElementCrossSection and GetInelasticElementCrossSection
  methods:
  *  A bug was causing undefined values for, respectively, the total and
     inelastic cross-sections of anti-proton interactions with light target
     nuclei (d, H3, He3 and He4).
  *  Extension for the simulation of a light anti-hypernucleus projectile
     scattering on a target nucleus.
     Note: most of the considered light anti-hypernuclei projectiles have
           baryon number equal to -4 : it is assumed that their properties
     are similar to anti-He4, therefore their total and inelastic
     cross sections are set-up as for anti-He4 nuclear scattering. 
     These properties can be improved in the future if theoretical estimations
     will be available.

## 2022-10-27 Vladimir Grichine (hadr-cross-V11-00-12)
- G4MuNeutrinoNucleusTotXsc - extension to tau-neutrinos, based on energy scaled nu_mu XS

## 2022-10-21 Vladimir Grichine (hadr-cross-V11-00-11)
- G4ComponentGGNuclNuclXsc - bug fixed pR not tR to be corrected

## 2022-10-12 Vladimir Grichine (hadr-cross-V11-00-10)
- G4ComponentGGNuclNuclXsc, G4ComponentGGHadronNuclXsc - extension to hyper-nuclei on hydrogen

## 2022-10-10 Vladimir Grichine (hadr-cross-V11-00-09)
- G4ComponentGGNuclNuclXsc - extension to hyper-nuclei

## 2022-09-29 Vladimir Ivanchenko (hadr-cross-V11-00-08)
- G4ParticleInelasticXS - fixed computation of isotope x-section #2498

## 2022-08-18 Vladimir Ivanchenko (hadr-cross-V11-00-07)
- G4CrossSectionDataStore - added extra public method needed 
    for G4NeutronGeneralProcess
- G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS -
    code cleanup, use G4AutoLock
- G4NeutronInelasticXS - fixed computation of isotope x-section #2498

## 2022-08-13 Vladimir Ivanchenko (hadr-cross-V11-00-06)
- G4CrossSectionDataStore, G4NeutronElasticXS, G4NeutronInelasticXS -
    added interfaces needed for G4NeutronGeneralProcess

## 2022-07-23 Vladimir Ivanchenko (hadr-cross-V11-00-05)
- G4VCrossSectionDataSet - added extra interfaces with G4ParticleDefinition*
    and kinetic energy
- G4NeutronCaptureXS - implemented new interfaces

## 2022-07-19 Alberto Ribon (hadr-cross-V11-00-04)
- G4ComponentAntiNuclNuclearXS.cc : fixed Coverity report (added checks
  against nullptr pointers).

## 2022-05-08 Vladimir Ivanchenko (hadr-cross-V11-00-03)
- G4CrossSectionDataStore, G4VCrossSectionDataSet - preparation
    for integral method, removed unused methods

## 2022-01-03 Vladimir Ivanchenko (hadr-cross-V11-00-02)
- G4HadronNucleonXsc - fixed compilation warning on unused variable

## 2022-01-03 Alberto Ribon (hadr-cross-V11-00-01)
- G4ComponentAntiNuclNuclearXS : extension, by Vladimir Uzhinsky, of
  the class to compute the cross sections of light anti-nuclei on
  hydrogen. This relies on the isospin symmetry assumption, according
  to which the properties of the reactions between anti-proton and
  light nuclei are equivalent to those between light anti-nuclei and
  hydrogen.

## 2021-12-10 Ben Morgan (hadr-cross-V11-00-00)
- Change to new Markdown History format

---

# History entries prior to 11.0

21 October 2021 - Alberto Ribon (hadr-cross-V10-07-21)
- G4IonsShenCrossSection : reintroduced this (old) ion-ion cross section
    (that was removed in 10.7.ref03), as required by Vladimir Uzhinsky
    for his nucleus-nucleus validation of NA61/SHINE experimental data

06 October 2021 - Vladimir Grichine (hadr-cross-V10-07-20)
- G4ElNuclearSFcs - e-A XS according to structure function approach by corrections of CHIPS CS 

30 September 2021 - Vladimir Ivanchenko (hadr-cross-V10-07-19)
- G4GammaNuclearXS - fixed Coverity warnings
- G4PhotoNuclearCrossSection - code clean-up

17 August 2021 - Vladimir Ivanchenko (hadr-cross-V10-07-18)
- G4GammaNuclearXS - Bogdan Kutsenko impruved isotope x-section

16 August 2021 - Vladimir Ivanchenko (hadr-cross-V10-07-17)
- G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS,
  G4ComponentBarNucleonNucleusXsc, G4NucleonNuclearCrossSection,
  G4CrossSectionDataSetRegistry, G4PhotoNuclearCrossSection - clean-up

13 August 2021 - Vladimir Ivanchenko (hadr-cross-V10-07-16)
- G4IsotopeList - extended list of isotopes to cover all data for 
    neutrons, protons, and gamma.
- G4GammaNuclearXS - new version of the code (Bogdan Kutsenko, BINP,
    CERN summer student program), which is based on IAEA/PD-2019.
- G4CrossSectionDataSetRegistry - improved debug printout and not use 
    CrossSectionFactory for XS.
- G4NeutronInelasticXS, G4NeutronElasticXS, G4NeutronCaptureXS - cleanup

29 July 2021 - Vladimir Ivanchenko (hadr-cross-V10-07-15)
- G4IsotopeList - extended from Zmax=92 to Zmax=94; do not use zero 
    values for amin and amax for all Z; this is needed for
    migration to the new dataset G4PARTICLEXS4.0
- G4NeutronInelasticXS, G4NeutronElasticXS, G4NeutronCaptureXS,
  G4ParticleInelasticXS, GammaNuclearXS : instead of check (amin[Z]==0)
    use the check (amin[Z]==amax[Z])

12 July 2021 - Vladimir Ivanchenko (hadr-cross-V10-07-14)
- G4NeutronInelasticXS, G4NeutronElasticXS, G4NeutronCaptureXS,
  G4ParticleInelasticXS, GammaNuclearXS : clean-up access to data
- G4NeutronCaptureXS - fixed bug in isotope data access

30 May 2021 - Vladimir Ivanchenko (hadr-cross-V10-07-13)
- G4UPiNuclearCrossSection - disable spline interpolation

16 April 2021 - Ben Morgan (hadr-cross-V10-07-12)
- Migrate build to modular CMake API

05 May 2021 - Vladimir Ivanchenko (hadr-cross-V10-07-11)
- G4HadronXSDataTable, G4ComponentSAIDTotalXS - update to 11.0 method
  of creation and handling of G4PhysicsVector

03 May 2021 - Vladimir Ivanchenko (hadr-cross-V10-07-10)
- G4UPiNuclearCrossSection, G4ComponentSAIDTotalXS - substitute
    G4LPhysicsFreeVector by G4PhysicsFreeVector

13 April 2021 - Alberto Ribon (hadr-cross-V10-07-09)
- GNUmakefile, sources.cmake : removed the subdirectories
  hadronic/models/management and hadronic/models/util
  (that have been now deleted, with their classes moved to
   hadronic/util and hadronic/management).

17 March 2021 - Vladimir Ivanchenko (hadr-cross-V10-07-08)
- G4NeutronInelasticXS, G4NeutronElasticXS, G4NeutronCaptureXS,
  G4ParticleInelasticXS, GammaNuclearXS : in the method
  BuildPhysicsTable, replaced loop over material-cut-couple with
  a direct loop over all elements; partially move initialisation
  of local variables to headers.

15 March 2021 - Alberto Ribon (hadr-cross-V10-07-07)
- G4NeutronInelasticXS : in the method BuildPhysicsTable, replaced
  loop over material-cut-couple with a direct loop over materials
  used in geometry.

  G4IonsShenCrossSection, G4TripathiCrossSection, G4TripathiLightCrossSection,
08 March 2021 - Alberto Ribon (hadr-cross-V10-07-06)
- Removed obsolete classes: G4IonsKoxCrossSection, G4IonsSihverCrossSection,
  G4IonsShenCrossSection, G4TripathiCrossSection, G4TripathiLightCrossSection,
  G4IonProtonCrossSection, G4GeneralSpaceNNCrossSection,
  G4ProtonInelasticCrossSection G4NeutronInelasticCrossSection,
  G4PiNuclearCrossSection, G4CrossSectionPairGG,
  G4FastPathHadronicCrossSection,
  G4HadronCaptureDataSet , G4HadronFissionDataSet,
  G4HadronElasticDataSet , G4HadronInelasticDataSet,
  G4HadronCrossSections

01 March 2021 - Vladimir Grichine (hadr-cross-V10-07-05)
- G4MuNeutrinoNucleusTotXsc - access and calculation: fQEratio(Z,A) = XS_qe/XS_tot

19 February 2021 - Vladimir Grichine (hadr-cross-V10-07-04)
- G4MuNeutrinoNucleusTotXsc - new arrays for XS_eq and XS_in, now XS_tot is a sum of
  XS_qe and XS_in with A, Z and A-Z factors

17 December 2020 - Vladimir Ivanchenko (hadr-cross-V10-07-03)
- G4GammaNuclearXS - fixed duplicated name of static variable
- G4ParticleInelasticXS, G4NeutronCaptureXS, G4NeutronElasticXS,
  G4NeutronInelasticXS - make MAXZ variable static class member

16 December 2020 - Guilherme Amadio (hadr-cross-V10-07-02)
- Drop cache for per-element G4CrossSectionDataStore::GetCrossSection(),
  since the cache is never used in practice. This method is always called
  by G4CrossSectionDataStore::ComputeCrossSection() inside a for loop in
  which the element changes for each iteration, which ensures the cache
  is always missed. Note that material, particle, and energy are still
  cached by G4CrossSectionDataStore::ComputeCrossSection(), and that cache
  hit rate has been measured to be about 6.9% for a full CMS ttbar event
  simulation at 14 TeV. The condition to check for the cache in that case
  has been optimized to minimize unnecessary checks by reordering checked
  conditions from most to least discriminant.

11 December 2020 - Vladimir Ivanchenko (hadr-cross-V10-07-01)
- G4VCrossSectionRatio - use inheritance from G4VCrossSectionDataSet
  in order to guarantee deletion of object end of run

06 December 2020 - Vladimir Ivanchenko (hadr-cross-V10-07-00)
- G4ParticleInelasticXS, G4CrossSectionInelastic, G4CrossSectionElastic
    extended maximum energy range for ion cross sections (QBBC and other
    Physics Lists has the same high energy limits)

24 November 2020 - A. Ribon (hadr-cross-V10-06-17)
- G4EMDissociationCrossSection : apply fixes suggested by Laurie Nevay and
  Andrey Abramov (bug report #2254) to avoid numerical crashes for ions
  at low energies (we now set to zero the cross section for ion kinetic
  energies below 2 MeV) and to avoid to create unphysical clusters of neutrons
  (we now forbid to remove one proton from any hydrogen ions).

12 November 2020 - B. Morgan (hadr-cross-V10-06-16)
- Apply typo fixes from Gurkan Myczko (https://github.com/Geant4/geant4/pull/15)

31 October 2020 - Vladimir Ivanchenko (hadr-cross-V10-06-15)
- G4ParticleInelasticXS - removed debug cout

26 October 2020 - Vladimir Ivanchenko (hadr-cross-V10-06-14)
- G4ParticleInelasticXS, G4NeutronCaptureXS, G4NeutronElasticXS,
  G4NeutronInelasticXS - general clean-up of classes:
    reuse existing high energy Glauber-Gribov cross section instances;
    fixed fusion cross-sections;
- G4GammaNuclearXS - new cross section class

17 October 2020 - Vladimir Ivanchenko (hadr-cross-V10-06-13)
- G4ProjectileFragmentCrossSection is removed because is unused

15 October 2020 - Vladimir Ivanchenko (hadr-cross-V10-06-12)
- G4ParticleInelasticXS, G4NeutronCaptureXS, G4NeutronElasticXS,
  G4NeutronInelasticXS - added G4VERBOSE compilation flag and
    few minor code clean-up, should not affect any result

11 October 2020 - Vladimir Ivanchenko (hadr-cross-V10-06-11)
- G4ParticleInelasticXS, G4NeutronCaptureXS, G4NeutronElasticXS,
  G4NeutronInelasticXS - preparation for G4PARTICLEXS3.0 data
    structure: extended list of isotopes
- G4ParticleInelasticXS - added gamma cross section

06 October 2020 - Vladimir Ivanchenko (hadr-cross-V10-06-10)
- G4ParticleInelasticXS, G4NeutronCaptureXS, G4NeutronElasticXS,
  G4NeutronInelasticXS - preparation for G4PARTICLEXS3.0 data
    structure: for capture and elastic applied low-energy
    parameterisation starting from second energy point of the data
    set (better agreement with HP cross sections); exclude special
    treatments for Hydrogen and Helium isotopes, because data for
    fission reactions are available in the new data set; moved run time
    method GetPhysicsVector() inlined

11 September 2020 - Gabriele Cosmo (hadr-cross-V10-06-09)
- More fixes for Coverity defects warnings for non-initialised data..

04 September 2020 - Gabriele Cosmo (hadr-cross-V10-06-08)
- Fixed trivial Coverity defects warnings for non-initialised data.

24 August 2020 - Vladimir Ivanchenko (hadr-cross-V10-06-07)
- G4ParticleInelasticXS - fixed header file
- G4IonProtonCrossSection - added cross sections for light ions

18 June 2020 - Alberto Ribon (hadr-cross-V10-06-06)
- G4CrossSectionElastic, G4CrossSectionInelastic : for ions and anti-ions,
  the max energy of applicability of the (elastic and inelastic) cross
  sections must scale with the absolute baryonic number; however, the
  cross sections objects are often shared between the different types
  of ions (d, t, He3, alpha, and genericIon) therefore we scale by a
  large value (256, safely larger than the number of nucleons of the
  heaviest nuclides).
  This fix a bug reported (by email) by LHCb.

03 June 2020 - Vladimir Ivanchenko (hadr-cross-V10-06-05)
- G4HadronNucleonXsc - fixed typo in heavy meson cross section
    identified by Coverity, improved code format

09 May 2020 - Vladimir Ivanchenko (hadr-cross-V10-06-04)
- G4HadronNucleonXsc - general clean-up of the code: use PDG number
    instead of particle pointers, remove instantiation of most
    of hadrons, optimisation of selection of parametersations

05 May 2020   - G.Folger    (hadr-cross-V10-06-03)
- fixes for clang10, mark class as final when dtor is final, Affected
    include files: G4BGGNucleonElasticXS, G4BGGPionElasticXS,
    G4BGGPionInelasticXS, G4ComponentGGHadronNucleusXsc,
    G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS,
    G4ParticleInelasticXS,

24 April 2020 - V. Grichine (hadr-cross-V10-06-02)
- G4ElNeutrinoNucleusTotXsc added for (nu_e,anti_nu_e)-nucleus cross sections

03 March 2020 - Dennis Wright (hadr-cross-V10-06-01)
- G4PhotoNuclearCrossSection: correct threshold for gamma + p -> pi0 + p,
                              extend for use on 3H and 3He targets

30 January 2020 - Vladimir Ivanchenko (hadr-cross-V10-06-00)
- G4HadronInelasticDataSet - fixed problem #2220 - wrong GHEISHA x-section

19 November 2019 - G. Folger   (hadr-cross-V10-05-31)
- remove using namespace std and using namespace CLHEP from header file G4NeutronElectronElXsc.hh

07 November 2019 - Alberto Ribon (hadr-cross-V10-05-30)
- G4HadronNucleonXsc : set protection against division by zero by introducing
  a minimum energy cutoff (100 keV), below which the cross section is
  considered constant.

06 November 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-29)
- G4NeutronInelasticXS, G4ParticleInelasticXS, G4NeutronElasticXS,
  G4NeutronCaptureXS, G4ComponentSAIDTotalXS, G4CrossSectionDataStore
    getenv -> std::getenv

10 October 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-28)
- G4BGGPionInelasticXS, G4BGGPionElasticXS - clean-up pi+ x-section
    below 20 MeV

27 September 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-27)
- G4BGGNucleonInelasticXS, G4BGGNucleonElasticXS,
  G4BGGPionInelasticXS, G4BGGPionElasticXS - clean-up low-energy
- G4UPiNuclearCrossSection - below 20 MeV cross section is now
    const, BGGPion cross section inplement low-energy part

16 September 2019 - V. Grichine (hadr-cross-V10-05-26)
- G4HadronNucleonXsc.hh/cc - new interface to G4ComponentGGHadronNucleonXsc
    including s-,c-,b-, particles

27 August 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-25)
- G4BGGNucleonInelasticXS, G4BGGNucleonElasticXS - use coherent
    low-energy threshold 14 MeV; code clean-up
- G4BGGPionInelasticXS, G4BGGPionElasticXS,
  G4ComponentBarNucleonNucleusXsc - cosmetic clean-up

23 August 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-24)
- G4BGGPionInelasticXS, G4BGGPionElasticXS - use coherent low-energy
    limit 1 MeV
- G4BGGNucleonInelasticXS, G4BGGNucleonElasticXS - minor clean-up
- G4UPiNuclearCrossSection - cleaned-up and optimise interpolation
    method, moved two run time methods to inline, improve low-energy
    parameterisation

19 August 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-23)
- G4HadronNucleonXsc - fixed K+p and K+n parameterisations (NS and VG)

07 August 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-22)
- G4NeutronInelasticXS, G4ParticleInelasticXS, G4NeutronElasticXS - added
    special method for tritium and He3 targets (fixed problem #2162),
    upload data only for elements used in geometry, code clean-up, use C++11
- G4NeutronElasticXS - implemented isotope cross section
- G4NeutronCaptureXS - code clean-up, use C++11

25 July 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-21)
- G4NeutronCaptureXS - upload data only for elements used in geometry

21 July 2019 - Mihaly Novak (hadr-cross-V10-05-20)
- G4ParticleInelasticXS - use the new, optimised log-vector access method

17 July 2019 - Mihaly Novak (hadr-cross-V10-05-19)
- G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS - utilise the new
    G4PhysicsVector::LogVectorValue optimised (for log-vector) method

13 July 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-18)
- G4NeutronCaptureXS - restore computation of isotope x-section as
    it was in 10.5

28 June 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-17)
- G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS - fixed initialisation
    for protons and neutrons by usage of separate vectors of correction
    coeffitients
- G4BGGPionInelasticXS - fixed low-energy parameterisation (restore
    one from Geant4 10.5, where low-energy limits were different for
    pi+ and pi-)

12 June 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-16)
- G4BGGPionElasticXS, G4BGGPionInelasticXS - fixed initialisation for
    pi+- by usage of separate vectors of correction factors; fixed
    computation for Hydrogen target
- G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS - fixed computation
    for Hydrogen target
- G4ComponentGGHadronNucleusXsc - fixed correction factor for kaons

03 June 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-15)
- G4HadronicException is substituted by G4Exception in all classes with
  exceptions

27 May 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-14)
- G4ComponentGGHadronNucleusXsc,  G4ComponentGGNuclNuclXsc - removed
    remaining unused obsolete methods and members, use G4NuclearRadii
    utility to compute nuclear radius

24 May 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-13)
  G4ParticleInelasticXS - set verbosity to 0

22 May 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-12)
- G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS
  G4ParticleInelasticXS - clean-up classes assuming usage of the new
    data-set G4PARTICLEXSDATA2.0, removed unused variables and methods,
    use only methods with logarithm of energy
- G4VCrossSectionDataSet, G4CrossSectionDataStore,
- G4IonProtonCrossSection - use only methods with logarithm of energy
- G4ComponentGGHadronNucleusXsc,  G4ComponentGGNuclNuclXsc - removed
    unused obsolete methods

20 May 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-11)
- G4BGGNucleonElasticXS - reduce low-energy limit from 1 to 0.75 MeV
- G4HadronNucleonXsc - improved K+p parameterisations (NS and VG),
    removed obsolete methods: ISApplicable.., PDG05
- G4VCrossSectionDataSet - use correct variable type

17 May 2019 - V. Grichine (hadr-cross-V10-05-10)
- G4MuNeutrinoNucleusTotXsc.hh/cc - new method GetElementCrossSection

02 May 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-09)
- G4ParticleInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS,
  G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS,
  G4NucleonNuclearCrossSection, G4ComponentBarNucleonNucleusXsc,
  G4UPiNuclearCrossSection - share internal data
    vectors between threads, initilise data once,
    removed unused parameters, code clean-up, use C++11 keywords

12 April 2019 - V.Grichine (hadr-cross-V10-05-08)
- G4HadronNucleonXsc - extension to c- and b- mesons

09 April 2019 - V.Grichine (hadr-cross-V10-05-07)
- G4HadronNucleonXsc - extension to c- and b- hyperons

07 April 2019 - Vladimir Ivanchenko (hadr-cross-V10-05-06)
- G4HadronNucleonXsc - added extra method for hyperon x-sections

17 March 2019 - Mihaly Novak (hadr-cross-V10-05-05)
- G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS - utilise the new
  G4PhysicsVector::Value method (global-V10-05-03) that can make use of the
  already known value of the log-kinetic energy (particles-V10-05-03) in the XS
  table log-vector accesses.

15 march 2019 - V. Grichine (hadr-cross-V10-05-04)
- G4MuNeutrinoNucleusTotXsc.cc - new name, default fCcTotRatio and high
  energy parameter bb

06 March 2019 - Alberto Ribon         (hadr-cross-V10-05-03)
- G4ComponentAntiNuclNuclearXS : clean-up and corrected the description.
                               No changes in the random sequence.

18 February 2019 - V. Grichine        (hadr-cross-V10-05-02)
- G4MuNeutrinoNucleusTotXsc.hh/cc   high energy extension
  of cc/nc xsc (M_W and M_Z propagator factors) cc/tot ratio

13 January 2019 - V. Grichine         (hadr-cross-V10-05-01)
- G4NeutrinoElectronNcXsc.cc, G4NeutrinoElectronTotXsc.cc high energy extension
  of nu-e xsc (M_W and M_Z propagator factors and Glashow resonance)

20 December 2018 - Alberto Ribon      (hadr-cross-V10-05-00)
- G4ChipsNeutronElasticXS : fixed compilation warnings on clang-7 .

22 October 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-54)
- G4BGGPionElasticXS - limit cross section below 20 MeV
- G4HadronNucleonXsc - added extra method for kaons fully based on NS
    parameterisation
- G4ComponentGGHadronNucleusXsc - choose NS parameterisation for kaon
    scattering off Hydrogen

22 October 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-53)
- G4BGGNucleonElasticXS, G4BGGPionInelasticXS - removed commented code,
    fixed Coverity warning
- G4HadronNucleonXsc - kaon x-section with 10.4 parameterisation

21 October 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-52)
- G4BGGNucleonElasticXS - limit elastic x-section off proton at low energy
- G4HadronNucleonXsc - smooth kaon x-section

20 October 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-51)
20 October 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-50)
- G4BGGPionElasticXS, G4BGGPionInelasticXS, G4BGGNucleonInelasticXS,
  G4BGGNucleonElasticXS, G4HadronNucleonXsc - use NS parameterisation
    for cross sections on Hydrogen instead of SAID

19 October 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-49)
- G4ComponentGGNuclNuclXsc (D. Sakata) - fixed nuclear radius parameterisation
- G4BGGPionElasticXS, G4BGGPionInelasticXS, G4BGGNucleonInelasticXS -
    use SAID x-section at low energy
- G4ComponentSAIDTotalXS - make class thread safe

16 October 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-48)
- G4HadronNucleonXsc - use PDG2016 parameterisation for protons

16 November 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-47)
- G4NeutronCaptureXS, G4NeutronInelasticXS - use full list of isotopic
    x-sections available in G4PARTICLEXS
- G4ParticleInelasticXS - fixed dataset name for isotope x-sections

12 November 2018 - Dennis Wright (hadr-cross-V10-04-46)
- G4PhotoNuclearCrossSection: add two new methods, IsIsoApplicable and
    GetIsoCrossSection to allow photo-nuclear reactions on deuterium.
    Fix of Bug #2092 proposed by ed_bugs@gmx.com

09 November 2018 - Gabriele Cosmo (hadr-cross-V10-04-45)
- G4CrossSectionFactoryRegistry: fixed printout typo.

03 November 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-44)
- G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS
  G4ParticleInelasticXS - substituted environment variable
    G4NEUTRONXSDATA by G4PARTICLEXSDATA

02 November 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-43)
02 November 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-41)
- G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS,
  G4BGGPionInelasticXS - use only Barashenkov x-section, Glauber-Gribov
    x-section for target Z>1 and G4HadronNucleonXscNS for the target Z=1
- G4NucleonNuclearCrossSection - fixed typo in inelastic x-section

12 October 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-40)
- G4ComponentGGNuclNuclXsc - D.Sakata fix of Coulomb barrier computation
    the problem was introdued in -32

05 October 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-39)
- G4HadronNucleonXsc - introduced V.Grichine parameterisation for kaons;

03 October 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-38)
03 October 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-36)
- G4HadronNucleonXsc - restored PDG 2005 parameterisation;
    use exactly the same parameterisation for K+- as in Geant4 10.4;
    V.Grichine added cross sections for strange hyperons.
- G4ComponentGGHadronNucleusXsc -  V.Grichine added cross sections
    for strange hyperons.

27 September 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-35)
- G4ComponentGGNuclNuclXsc - fixed bug for light ion x-sections

26 September 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-34)
- G4VComponentCrossSection, G4CrossSectionDataSetRegistry,
  G4CrossSectionElastic, G4CrossSectionInelastic - fixed destruction
    of cross sections and its components in MT mode

20 September 2018 - Alberto Ribon (hadr-cross-V10-04-33)
- G4HadronCrossSections : added a protection (with a "JustWarning" exception)
  in the case of direct calls of cross sections for particles not
  handled by Gheisha (e.g. gamma, He3, light anti-ions).
  Problem encountered in test75 by J. Yarba.

19 September 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-32)
18 September 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-31)
- G4VComponentCrossSection, G4CrossSectionInelastic,
  G4CrossSectionElastic, G4ComponentSAIDTotalXS,
  G4ComponentGGNuclNuclXsc, G4ComponentGGHadronNucleusXsc - use stream
    in the Description(..) method instead of G4cout
- G4ComponentGGNuclNuclXsc, G4ComponentGGHadronNucleusXsc - completed
    clean-up: removed code duplication, all parameterisations are
    used from G4HadronNucleonXsc class only; do not create temporary
    G4DynamicParticle objects; implement computations only inside
    ComputeCrossSections(...) methods

16 August 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-30)
16 August 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-29)
- G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS,
  G4ComponentSAIDTotalXS, G4CrossSectionPairGG, G4NeutronElasticXS,
  G4NeutronInelasticXS, G4ParticleInelasticXS - improved destruction

16 August 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-28)
- G4PiData - use default destructor
- G4ComponentBarNucleonNucleusXsc - simplified and cleaned up,
    use G4BarashenkovData
- G4BGGPionInelasticXS - use Nikolay Starkov parameterisation
    for pion-nucleon
- G4NucleonNuclearCrossSection - use G4ComponentBarNucleonNucleusXsc
- G4UPiNuclearCrossSection, G4PiNuclearCrossSection - cleanup

15 August 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-27)
- G4CrossSectionDataSetRegistry - proper deletion of component cross
    section

10 August 2018 - Alberto Ribon (hadr-cross-V10-04-26)
- GNUmakefile : removed dependency on hadronic/management/
  (to avoid a circular dependency, given that the latter depends on
  hadronic/cross_sections/ ; the class G4HadronicParameters has been
  moved from hadronic/management/ to hadronic/util/ ).

09 August 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-25)
- G4HadronNucleonXsc - improve computation of kaon x-section, KS and
    KL x-sections are computed as half sum of K- and K+
- G4CrossSectionElastic, G4CrossSectionInelastic - used new
    class G4HadronicParameters for definition of max energy
- G4ComponentGGHadronNucleusXsc - general review and speed up without
    change of any algorithm, added method ComputeRocssSections,
    added cache values

06 August 2018 - Alberto Ribon (hadr-cross-V10-04-24)
- G4VCrossSectionDataSet, G4BGGPionElasticXS, G4BGGPionInelasticXS :
  replaced the explicit high-energy limit of hadronic physics with
  the one from G4HadronicParameters .
- Changed the GNUmakefile to allow the new dependency on
  processes/hadronic/management/include/ , where the class
  G4HadronicParameters is defined.

01 August 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-23)
- G4HadronNucleonXsc - implemented PDG 2017 parameterisation of total
    x-sections; Use G4Pow, G4Exp, G4Log substituting std::pow;
    added interfaces with G4ParticleDefinition and kinetic energy

29 July 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-22)
- G4CrossSectionElastic, G4CrossSectionInelastic,
  G4CrossSectionDataSetRegistry - added safe deletion of
    G4VComponentCrossSection end of run

28 July 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-21)
- G4HadronCrossSections - use G4ThreadLocalSingleton pattern
- G4HadronElasticDataSet, G4HadronInelasticDataSet - added cache;
    optimized IsElementApplicable(..) method
- G4CrossSectionElastic, G4CrossSectionInelastic - set Zmin=1
    instead of 0

20 July 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-20)
- G4CrossSectionDataSetRegistry - added registration/de-restration
    of component cross sections
- G4ComponentGGHadronNucleusXsc - minor clean-up
- G4NeutronElasticXS - instantiate components in BuildPhysicsTable

18 July 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-19)
18 July 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-18)
--------------------------------------------------------
- G4CrossSectionDataSetRegistry, G4VComponentCrossSection - added
    registration/de-registration of cross section components
    allowing proper delete end of run

18 July 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-17)
--------------------------------------------------------
- G4NeutronElasticXS, G4PhotoNuclearCrossSection,
  G4ElectroNuclearCrossSection - removed GHEISHA cross section from
    the data store, use only these as a default
- G4NeutronCaptureXS, G4NeutronInelasticXS - correct list of isotope
    x-section; remove GHEISHA x-sections

13 June 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-16)
13 June 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-15)
--------------------------------------------------------
- G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS,
  G4ParticleInelasticXS - restore logic used in 10.4 for
    selection of isotope cross sections; use const pointer to
    G4Isotope; make these x-sections isotope wise for all energies
  G4VCrossSectionDataSet - use const pointer to G4Isotope
  G4CrossSectionDataStore - restore logic used in 10.4 for
    selection of isotope cross sections

11 June 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-14)
--------------------------------------------------------
- G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS
    bugfix: do not clear previous cross sections from the list
    allowing to use HP cross sections

05 Jun 2018 - Alberto Ribon (hadr-cross-V10-04-13)
----------------------------------------------------
- G4PiNuclearCrossSection : logical fix suggested by Coverity, affecting
  only transuranic elements.

05 June 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-12)
--------------------------------------------------------
- G4ParticleInelasticXS - fixed const name
- G4HadronXSDataTable - new class for cross section handling

29 May 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-11)
29 May 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-09)
--------------------------------------------------------
- G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS
    reduced number of type conversions and if(..) operators
- G4ParticleInelasticXS - new inelastic cross sections for neutrons,
    protons, and light ions based on G4NEUTRONXS2.0
- G4CrossSectionDataStore - added new method ComputeCrossSection(..),
    reduced number of type conversions, number of computation of cross
    sections and number of if(..) calls, const pointers to G4Material,
    G4Element, and G4Isotope, expected hadronic tracking be faster
- G4VCrossSectionDataSet - added new flag isForAllAtomsAndEnergies
    and get/set methods allowing to reduce list of cross section
    per particle
- G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS,
  G4BGGPionInelasticXS

22 May 2018 - Alberto Ribon (hadr-cross-V10-04-08)
----------------------------------------------------
- G4PiNuclearCrossSection : for transuranic elements, scale the cross
  sections from those of Uranium (using the ratio of atomic_weights),
  instead of using directly the latter (as done before).

11 May 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-07)
--------------------------------------------------------
- G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS
  adopted for the new data structure G4NEUTRONXS2.0, incompatible
  with previous

24 April 2018 - Alberto Ribon (hadr-cross-V10-04-06)
----------------------------------------------------
- G4PiNuclearCrossSection, G4ElectroNuclearCrossSection, G4KokoulinMuonNuclearXS,
  G4ChipsProtonElasticXS, G4ChipsKaonPlusElasticXS, G4ChipsKaonMinusElasticXS,
  G4ChipsNeutronElasticXS, G4ChipsHyperonElasticXS, G4ChipsHyperonInelasticXS,
  G4ChipsAntiBaryonElasticXS, G4ChipsPionPlusElasticXS, G4ChipsPionMinusElasticXS :
  introduced switch to allow transuranic elements.

19 February 2018 - Jonathan Madsen (hadr-cross-V10-04-05)
---------------------------------------------------------
- Replaced file-scoped mutexes in G4CrossSectionFactoryRegistry.cc
  to use G4TypeMutex<G4CrossSectionFactoryRegistry> which addresses
  a static mutex initialization bug on Windows

13 February 2018 - Vladimir Ivanchenko (hadr-cross-V10-04-04)
--------------------------------------------------------
- G4NeutrinoElectronTotXsc - V.Grichine added extra methods

19 December 2017 - Gabriele Cosmo (hadr-cross-V10-04-03)
--------------------------------------------------------
- Commented out debug printouts in G4ProjectileFragmentCrossSection header.

14 December 2017 - Alberto Ribon (hadr-cross-V10-04-02)
-------------------------------------------------------
- Re-tag because the previous tag was rejected by mistake.

14 December 2017 - Alberto Ribon (hadr-cross-V10-04-01)
-------------------------------------------------------
- Forgot to update sources.cmake .

14 December 2017 - Alberto Ribon (hadr-cross-V10-04-00)
-------------------------------------------------------
- G4NeutrinoElectronCcXsc , G4NeutrinoElectronNcXsc : added method.
- G4NeutrinoElectronTotXsc : added new class for total (i.e. neutral current
  plus charged current) cross section for neutrino-electron interactions.
Work done by Vladimir Grichine.

23 November 2017 - Vladimir Ivanchenko (hadr-cross-V10-03-14)
----------------------------------------------------
- G4ElectroNuclearCrossSection - fixed minor memory leak;

1 November 2017 - Tatsumi Koi (hadr-cross-V10-03-13)
----------------------------------------------------
- adding AddDataSet(G4VCrossSectionDataSet*,size_t);
The second argument gives the priority of the data set in list.

12 September 2017 - Witek Pokorski (hadr-cross-V10-03-12)
----------------------------------------------------
- moving to N. Starkov parameterization for Kaon on H

17 August 2017 - Witek Pokorski (hadr-cross-V10-03-11)
----------------------------------------------------
- updated sources.cmake for G4MuNeutrinoNucleusTotXsc

17 August 2017 - Witek Pokorski (hadr-cross-V10-03-09)
----------------------------------------------------
- bug fix in G4ComponentGGHadronNucleusXsc.cc to use the correct cross-sections for Kaons on H
- this change should be used also for the next patch of G4 10.3

14 August 2017 - Vladimir Grichine
----------------------------------------------------
- Added G4MuNeutrinoNucleusTotXsc class implementing total muon
  (anti)neutrino-nucleus cross sections in the simplified form as
  A-multiplied nu_mu-nucleon cross-sections.

13 Jun 2017 - Alberto Ribon (hadr-cross-V10-03-08)
----------------------------------------------------
-  G4NeutronElectronElXsc, G4ComponentGGHadronNucleusXsc : Coverity fixes.

29 May 2017 - Alberto Ribon (hadr-cross-V10-03-07)
----------------------------------------------------
- Proposing the same tag as before, which was wrongly rejected.

29 May 2017 - Alberto Ribon (hadr-cross-V10-03-06)
----------------------------------------------------
- G4NeutrinoElectronNcXsc, G4NeutrinoElectronCcXsc, G4NeutronElectronElXsc :
  added possibility of biasing these cross sections.

23 May 2017 - Alberto Ribon (hadr-cross-V10-03-05)
----------------------------------------------------
- G4NeutronElectronElXsc : fixed declaration of variables
  (double wrongly declared as integer).

23 May 2017 - Alberto Ribon (hadr-cross-V10-03-04)
----------------------------------------------------
- G4NeutronElectronElXsc : added new class by Vladimir Grichine
  for the cross section of neutrons on atomic electrons.
  Ultra-relativistic approximation of the Rosenbluth formula is used,
  since this is more relevant for detector applications. In particular,
  for dark matter searches, this process can produce elctrons with high
  energy, if there are high energy neutrons (more than 10 GeV).

28 April 2017 - Alberto Ribon (hadr-cross-V10-03-03)
----------------------------------------------------
- G4NeutrinoElectronCcXsc : added new class by Vladimir Grichine
  for the cross section of neutrino-electron inelastic interaction
  (charge current).

18 April 2017 - Alberto Ribon (hadr-cross-V10-03-02)
----------------------------------------------------
- G4NeutrinoElectronNcXsc : corrected name anti_nu_mu .

11 April 2017 - Alberto Ribon (hadr-cross-V10-03-01)
----------------------------------------------------
- Forgot to add the (new) class G4NeutrinoElectronNcXsc in the sources.cmake.

11 April 2017 - Alberto Ribon (hadr-cross-V10-03-00)
----------------------------------------------------
- G4NeutrinoElectronNcXsc : added new class by Vladimir Grichine
  for the cross section of elastic neutrino-electron scattering.
  This class is useful for dark matter and neutrino experiments.
  Note that the cross section is small : ~10^-44 - 10^-42 cm^2
  in the neutrino energy range 1-100 GeV.

12 August 2016 - Alberto Ribon (hadr-cross-V10-02-04)
-----------------------------------------------------
- G4CrossSectionDataStore : added "throw" to hadronic exception;
- G4ComponentGGHadronNucleusXsc, G4ComponentGGNuclNuclXsc.cc : comment out
  redundant if-statement.
(fixes suggested by the PVS-Studio static code analyzer)

03 August 2016 - Alberto Ribon (hadr-cross-V10-02-03)
-----------------------------------------------------
- G4ComponentGGHadronNucleusXsc : two new fields were added by V. Grichine
  to be used by final string generators.

1 July 2016 - Vladimir Ivanchenko (hadr-cross-V10-02-02)
-----------------------------------------------------------
- G4VCrossSectionDataSet, G4CrossSectionDataStore - fixed minor Coverity report

2 March 2016 - Tatsumi Koi (hadr-cross-V10-02-01)
-----------------------------------------------------------
- G4CrossSectionDataSetRegistry - Deleted ad-hoc trick which was added in "hadr-cross-V10-01-29"

08 January 2016 - W.Pokorski (hadr-cross-V10-02-00)
-------------------------------------------------
- added comments about while-loop checking, no code change

23 November 2015 - G.Folger (hadr-cross-V10-01-37)
-------------------------------------------------
- G4HadronCrossSections: Revert cross section data back to float, add f in
    initialisation.

12 November 2015 - A.Dotti  (hadr-cross-V10-01-36)
-------------------------------------------------
- Disabling profiling functions of fast-cross-sections

12 November 2015 - G.Folger (hadr-cross-V10-01-35)
-------------------------------------------------
- G4HadronCrossSections: change float cross sections data to be double.

6 November 2015 - A. Ribon (hadr-cross-V10-01-34)
-------------------------------------------------
- G4HadronNucleonXsc, G4ComponentGGHadronNucleusXsc : Grichine's clean up
  of kaon-nucleon xsc vector-arrays (which are not used).

5 November 2015 - A. Dotti (hadr-cross-V10-01-33)
-------------------------------------------------
- Again WIN fix: adding define to have M_LN10 math definition

5 November 2015 - G. Cosmo (hadr-cross-V10-01-32)
-------------------------------------------------
- Replaced use of variable 'L' in G4ElectroNuclearCrossSection.cc to avoid
  shadowing of new volumetric units.

4 November 2015 - A. Dotti (hadr-cross-V10-01-31)
-------------------------------------------------
- Attempt fix error reported in tag -29 on WIN systems (adding stdint.h)
- Attempt fix warning in WIN for G4HadronCrossSection double->float conversions for 0.E+00

3 November 2015 - V. Ivanchenko (hadr-cross-V10-01-30)
-----------------------------------------------------------
- Take only G4CrossSectionDataSetRegistry modification and not fast-path

2 November 2015 - Tatsumi Koi (hadr-cross-V10-01-29)
-----------------------------------------------------------
- G4CrossSectionDataSetRegistry - adding same ad-hoc trick of NeutronHP to ParticleHP models to prevent problem at termination

1 November 2015  A. Dotti
------------------------------------------------
- First import of fast-path (ASCR style) cross-section feature
  (OFF by default, but code is there)

27 October 2015  A. Ribon  (hadr-cross-V10-01-28)
------------------------------------------------
- Exactly the same tag as the previous one, with a fix in another category
  to overcome a compilation error.

27 October 2015  A. Ribon  (hadr-cross-V10-01-27)
------------------------------------------------
- Deleted the old classes G4GlauberGribovCrossSection and
  G4GGNuclNuclCrossSection, and replaced them with the new, recommended ones
  G4ComponentGGHadronNucleusXsc and G4ComponentGGNuclNuclXsc, respectively.

26 October 2015  T.Koi  (hadr-cross-V10-01-26)
------------------------------------------------
- G4ZeroXS: Adding an artificial cross section data set which always replies zero

24 October 2015  V.Ivanchenko  (hadr-cross-V10-01-25)
------------------------------------------------
- G4HadronNucleonXsc - V.Grichine fix energies for K-p data
    in order to avoid crash when bound check is applied

22 October 2015  A. Ribon  (hadr-cross-V10-01-24)
------------------------------------------------
- G4ComponentGGHadronNucleusXsc : added Default_Name() method.

12 October 2015  W. Pokorski  (hadr-cross-V10-01-23)
------------------------------------------------
- removing G4Pow, G4Exp and G4Log from Chips Kaon cross sections because they cause FPEs to occur

8 October 2015  W. Pokorski  (hadr-cross-V10-01-22)
------------------------------------------------
- further removal of G4Pow, G4Exp and G4Log from the crosse sections where FPEs occur

7 October 2015  W. Pokorski  (hadr-cross-V10-01-21)
------------------------------------------------
- slowly removing just introduced powA and G4Log which cause FPEs

6 October 2015  W. Pokorski  (hadr-cross-V10-01-20)
------------------------------------------------
- trying to fix the previous tag, removing powA with 0 exponent

2 October 2015  W. Pokorski  (hadr-cross-V10-01-19)
------------------------------------------------
- migrating to G4Exp, G4Log and G4Pow

10 August 2015 V.Ivanchenko (hadr-cross-V10-01-18)
-----------------------------------------------
- G4NeutronCaptureXS - fixed Coverity warning

18 July 2015 V.Ivanchenko (hadr-cross-V10-01-17)
-----------------------------------------------
  Fix previous tag and removed debug cout

18 July 2015 V.Ivanchenko (hadr-cross-V10-01-14)
-----------------------------------------------
  Cleanup previous tag

18 July 2015 V.Ivanchenko (hadr-cross-V10-01-13)
-----------------------------------------------
- G4NeutronInelasticXS, G4NeutronCaptureXS - fixed isotope cross
    including retrieve, data management, isotope x-section and
    isotope selection (the problem was reported by Steve Quillin
    and analyzed by Tatsumi Koi).

13 July 2015 A. Dotti     (hadr-cross-V10-01-12)
-----------------------------------------------
- Fixing coverity issues

2 June 2015  W. Pokorski  (hadr-cross-V10-01-11)
------------------------------------------------
- add description method to all the CHIPS cross sections

1 June 2015  D.H. Wright  (hadr-cross-V10-01-10)
------------------------------------------------
- add description method to G4KokoulinMuonNuclearXS and
  G4ChipsKaonMinusInelasticXS

28 May 2015  A.Ribon      (hadr-cross-V10-01-09)
---------------------------------------------------
- Added description of the classes G4IonProtonCrossSection and
  G4GeneralSpaceNNCrossSection

27 May 2015  A.Ribon      (hadr-cross-V10-01-08)
---------------------------------------------------
- G4ComponentGGHadronNucleusXsc : Grichine's extension of applicability
  for kaons down to 0.1*MeV
- G4DiffElasticRatio : Grichine's addition of energy threshols to skip
  the treatment of low-energy particles

27 May 2015  G.Folger      (hadr-cross-V10-01-07)
---------------------------------------------------
- G4CrossSectionDataStore: Additions to print Html documentation

18 March 2015 V.Ivanchenko (hadr-cross-V10-01-06)
---------------------------------------------------
- G4KokoulinMuonNuclearXS - removed debug cout

17 March 2015 V.Ivanchenko (hadr-cross-V10-01-05)
---------------------------------------------------
- G4CrossSectionDataSetRegistry - protect deletion of NeutronHP
- G4KokoulinMuonNuclearXS - fixed initialisation for the case of
    multiple runs
- G4DiffElasticRatio (V.Grichine) added protection for hydrogen

13 March 2015 V.Ivanchenko (hadr-cross-V10-01-04)
---------------------------------------------------
- G4CrossSectionDataSetRegistry, G4VCrossSectionDataSet - use
    G4ThreadLocalSingletone; delete all x-sections at exit except HP

06 February 2015 W.Pokorski (hadr-cross-V10-01-03)
------------------------------------------------
- reverting back previous tag (causing FPE)
- including V.Grishine change in G4ComponentGGHadronNucleusXsc to work for H target

04 February 2015 W.Pokorski (hadr-cross-V10-01-02)
------------------------------------------------
- changing std::log and exp to G4Log and G4Exp

07 January 2015 W.Pokorski (hadr-cross-V10-01-01)
------------------------------------------------
- removing obsolete (wrong) checks for particle types in IsIsoApplicable
  in Chips cross sections

12 December 2014 G.Cosmo (hadr-cross-V10-01-00)
---------------------------------------------------
- Workaround in G4CrossSectionFactory<T,2>::Instantiate() to allow for
  compilation on clang-3.5 on Linux, for initialisation of TLS pointer.

18 November 2014 V.Ivanchenko (hadr-cross-V10-00-18)
---------------------------------------------------
- G4CrossSectionDataSetRegistry, G4CrossSectionFactoryRegistry,
  G4HadronCrossSections - use thread local singletone for
  proper deletion of cross sections end of run

07 November 2014 V.Grichine (hadr-cross-V10-00-17)
---------------------------------------------------
- Class managing single diffraction to elastic cross section ratio
  G4DiffElasticRatio

30 October 2014 V.Ivanchenko (hadr-cross-V10-00-16)
---------------------------------------------------
- added new interface class G4VCrossSectionRatio

17 October 2014 A.Dotti (hadr-cross-V10-00-15)
---------------------------------------------------
- Fixing data-races in G4Chips{Neutron,Proton}ElasticXS as
  retported by DRD

09 September 2014 W.Pokorski (hadr-cross-V10-00-14)
------------------------------------------------
- adding missing factories to G4NeutronCaptureXS, G4NeutronElasticXS,
G4NeutronInelasticXS, G4PiNuclearCrossSection

08 August 2014 W.Pokorski (hadr-cross-V10-00-13)
------------------------------------------------
- fixing one more memory leak in Chips cross sections

07 August 2014 W.Pokorski (hadr-cross-V10-00-12)
------------------------------------------------
- replacing all the statics by regular class members in Chips cross sections

06 August 2014 V.Ivanchenko (hadr-cross-V10-00-11)
------------------------------------------------
- G4NeutronElasticXS - fixed minor memory leak at the end of job

27 July 2014 V.Ivanchenko (hadr-cross-V10-00-10)
------------------------------------------------
- G4KokoulinMuonNuclearXS - delete G4PhysicsVectors end of job;
    share data between threads; use G4Exp, G4Log

26 July 2014 V.Ivanchenko (hadr-cross-V10-00-09)
------------------------------------------------
- G4NeutronInelasticXS - fixed bug from previous tag

26 July 2014 V.Ivanchenko (hadr-cross-V10-00-08)
------------------------------------------------
- G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS,
  G4ComponentSAIDTotalXS, G4UPiNuclearCrossSection - delete
  G4PhysicsVectors end of job
- G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS
    share data between threads

24 June 2014 A.Ribon (hadr-cross-V10-00-07)
------------------------------------------
- G4ChipsAntiBaryonElasticXS : include anti_Omega- in the method GetPTables.

5 June 2014 A.Ribon (hadr-cross-V10-00-06)
------------------------------------------
- G4ChipsHyperonElasticXS : avoid to exclude Sigma+ in the set of
  hyperons which can be treated by Chips elastic scattering.

3 June 2014 G.Folger (hadr-cross-V10-00-05)
-------------------------------------------
- Add const for G4partuicleDefinition in many places, most trivial.
   Affects G4Chips*(trivial), G4ComponentGGNuclNuclXsc, and
	G4GGNuclNuclCrossSection (change in interface in two methods each, plus
	trivial changes)

20 May 2014 A.Dotti (hadr-cross-V10-00-04)
------------------------------------------
- Introduce protection in destructor of G4ElectroNuclearCrossSection
  to protect for NULL pointer entries in cache.
- G4KokoulinMuonNuclearXS does not call anymore explicitly
  theCrossSectionTable::clearAndDestroy() since underlying physics vectors
  are managed by allocators

11 April 2014 W.Pokorski (hadr-cross-V10-00-03)
----------------------------------------------
- Minor reshuffling of some variables suggested by Federico
(to calculate some variables only when used to prevent overflows)

26 March 2014 G.Folger  (hadr-cross-V10-00-02)
----------------------------------------------
- Remove use of const_cast for G4ParticleDefinition*

13 March 2014 G.Cosmo  (hadr-cross-V10-00-01)
---------------------------------------------
- Fixed use of inline keyword for methods defined inside
  G4ElectroNuclearCrossSection.cc.

18 December 2013 A.Ribon  (hadr-cross-V10-00-00)
------------------------------------------------
- Fixed wrong tag format.

18 December 2013 A.Ribon  (hadr-cross-V09-06-39)
------------------------------------------------
- Removed wrong if statement against zero cross section in
  G4CrossSectionDataStore::SampleZandA. This should be the correct
  fix for the crashes observed in QBBC (see previous tag).
- Instead of re-activate the 1 millibarn threshold introduced in
  the previous tag, we decided to disable the same threshold also for
  the inelastic cross section in G4BGGNucleonInelasticXS.
  The rationale is that without the threshold we don't see CPU penalty,
  and this allows future improvements of cross section behaviour near
  the threshold.

04 December 2013 A.Ribon  (hadr-cross-V09-06-38)
------------------------------------------------
- Commented out the 1 millibarn threshold in G4BGGNucleonElasticXS,
  to avoid rare crashes observed in QBBC. A better fix of this problem
  will be done after the release 10.

27 November 2013 G.Cosmo  (hadr-cross-V09-06-37)
------------------------------------------------
- Replace G4ThreadLocal with 'const' for 'alpha' in Interpolate() for
  G4ComponentBarNucleonNucleusXsc and G4NucleonNuclearCrossSection.
  Required to allow for compilation on Intel icc compiler in MT-mode.

15 September 2013 V.Ivanchenko  (hadr-cross-V09-06-36)
-----------------------------------------------------
- G4BGGNucleonInelasticXS - added threashold 1 millibarn, if
    cross section is less, it is set to zero
- G4BGGNucleonElasticXS - added threashold 1 millibarn, added Coulomb
    barrier for protons (copied from G4BGGNucleonInelasticXS); for
    Hydrogen target added linear approximation between SAID data and
    PDG data: SAID upper energy 3.3 GeV, PDG low energy 5 GeV

08 November 2013 V.Ivanchenko
- G4ComponentSAIDTotalXS, G4NeutronElasticXS,
  G4UPiNuclearCrossSection - do not delete G4PhysicsVectors at the
  end of job (these modifications are trivial and may be peaked up
  with any new tag)

11 September 2013 W.Pokorski    (hadr-cross-V09-06-35)
-----------------------------------------------------
- improvement in photonuclear cross section;
  replacing per-isotope calculation with per-element

10 September 2013 W.Pokorski    (hadr-cross-V09-06-34)
-----------------------------------------------------
- started clean up of phononuclear XS

10 September 2013 W.Pokorski    (hadr-cross-V09-06-33)
-----------------------------------------------------
- adding factory to electronuclear XS

09 September 2013 W.Pokorski    (hadr-cross-V09-06-32)
-----------------------------------------------------
- replacing 'per isotope' methods by 'per element' for electronuclear XS

30 August 2013 W.Pokorski     (hadr-cross-V09-06-31)
-----------------------------------------------------
- retagging to include the fix from V.Grishine in G4HadronNucleonXsc.cc

29 August 2013 W.Pokorski     (hadr-cross-V09-06-30)
-----------------------------------------------------
- major clean up and restructuring in G4ElectroNuclearXS.
The calculation is now done for average N.

23 August 2013 W.Pokorski     (hadr-cross-V09-06-29)
-----------------------------------------------------
- renaming one variable to avoid shadowing with CLHEP

22 August 2013 W.Pokorski     (hadr-cross-V09-06-28)
-----------------------------------------------------
- improvements and cleanup in G4ElectroNuclearCrossSection

05 Jun 2013 W.Pokorski     (hadr-cross-V09-06-27)
-----------------------------------------------------
- Fixing memory leak in G4ComponentGGNuclNuclXsc

20 Jun 2013 A.Dotti        (hadr-cross-V09-06-26)
-----------------------------------------------------
- G4ElectroNuclearCrossSection - fixed Coverity defect

19 Jun 2013 V.Ivanchenko   (hadr-cross-V09-06-25)
-----------------------------------------------------
- G4ComponentAntiNuclNuclearXS - fixed trial Coverity defect

13 Jun 2013 V.Ivanchenko   (hadr-cross-V09-06-24)
-----------------------------------------------------
- G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS,
  G4ComponentSAIDTotalXS - G4HadronicException is substituted by
    G4Exception, because these exceptions are happens at initialisation
    and not in the event loop where G4HadronicException is couched

06 Jun 2013 V.Ivanchenko   (hadr-cross-V09-06-23)
-----------------------------------------------------
- G4BGGPionInelasticXS, G4BGGNucleonInelasticXS - use G4Pow to compute
    Coulomb correction factor (some CPU improvement)

04 Jun 2013 A. Ribon (hadr-cross-V09-06-22)
----------------------------------------------------
- Fix access to ions via the IonTable class and GetIon method
  in the following .cc files:
  G4ChipsProtonElasticXS.cc, G4ChipsPionPlusElasticXS.cc,
  G4ChipsKaonPlusElasticXS.cc, G4ChipsKaonMinusElasticXS.cc,
  G4ChipsHyperonElasticXS.cc, G4ChipsAntiBaryonElasticXS.cc,
  G4ChipsPionMinusElasticXS.cc, G4ChipsNeutronElasticXS.cc

09 May 2013 A. Dotti (hadr-cross-V09-06-21)
----------------------------------------------------
- Bug fix: remove sporious debug cout in G4ElectroNuclearCrossSection

07 May 2013 T. Koi (hadr-cross-V09-06-20)
-----------------------------------------------------
- Making Get and Set method of verbose level in G4VCrossSectionDataSet
  into virtual function

03 May 2013 A. Dotti (hadr-cross-V09-06-19)
-----------------------------------------------------
- Protecting against crash ad exit in G4ElectroNuclear

02 May 2013 A. Dotti (hadr-cross-V09-06-18)
-----------------------------------------------------
- Clean up ElectroNuclear cross-section for MT and optimize code.
  Code is now 40% faster in simple setups.

- G4BGGNucleonInelasticXS - reduced numebr of operation in the
    CoulombFactor method

10 April 2013 W. Pokorski (hadr-cross-V09-06-17)
-----------------------------------------------------
- removing obsolete statics

1 April 2013 A. Dotti (hadr-cross-V09-06-16)
-----------------------------------------------------
- Rewrite mechansim of CrossSection factories to work with MT applications.
  Factory registry is now a class on its own and it is shared among threads.
  TLS CrossSectionDataSetRegistry access the shared resource to get XS.
  XS data sets can be created as now per-thread or shared. See factoy mechanism.

22 March 2013 V.Ivanchenko   (hadr-cross-V09-06-15)
-----------------------------------------------------
- G4KokoulinMuonNuclearXS, G4NeutronCaptureXS,
  G4NeutronInelasticCrossSection,  G4ProtonInelasticCrossSection,
  G4TripathiCrossSection - more correct definition of static data

20 March 2013 V.Ivanchenko   (hadr-cross-V09-06-14)
-----------------------------------------------------
- G4HadronCrossSections - all data to be "static const" - no G4ThreadLocal
    declarations,  correctInelasticNearZero set to be false forever
- G4HadronFissionDataSet - always return zero (only HP may simulate
    fission as a separate process)

15 March 2013 V.Ivanchenko   (hadr-cross-V09-06-13)
-----------------------------------------------------
- G4CrossSectionDataStore, G4NeutronInelasticXS - fixed Coverity reports

12 March 2013  Dennis Wright  (hadr-cross-V09-06-12)
----------------------------------------------------
- fixed MacOS clang compiler warnings for unused private variables
  files affected:
  G4ChipsNeutronInelasticXS.hh
  G4ChipsProtonInelasticXS.hh
  G4ChipsKaonMinusInelasticXS.hh
  G4ChipsHyperonInelasticXS.hh
  G4ChipsAntiBaryonInelasticXS.hh

  G4IonsKoxCrossSection.hh, .cc
  G4IonsShenCrossSection.hh, .cc
  G4HadronCrossSections.hh, .cc
  G4HadronNucleonXsc.hh, .cc
  G4GlauberGribovCrossSection.hh, .cc
  G4ComponentGGNuclNuclXsc.hh, .cc
  G4ComponentGGHadronNucleusXsc.hh, .cc
  G4ComponentAntiNuclNuclearXS.hh, .cc
  G4GGNuclNuclCrossSection.hh, .cc

 7 March 2013 M.Maire   (hadr-cross-V09-06-11)
- fix a bug in DumpPhysicsTable

 7 March 2013 M.Maire   (hadr-cross-V09-06-10)
- cosmetics in DumpPhysicsTable

 4 March 2013 V. Uzhinsky   (hadr-cross-V09-06-09)
---------------------------------------------------
 - Bugs are fixed in G4ChipsProtonInelasticXS.cc
                     G4ChipsNeutronInelasticXS.cc

01 March 2013 M.Maire   (hadr-cross-V09-06-08)
----------------------------------------------
- G4CrossSectionDataStore.cc - elm->GetNaturalAbundanceFlag()

27 February 2013 V.Ivanchenko   (hadr-cross-V09-06-07)
-----------------------------------------------------
- G4CrossSectionDataStore - fixed logic to compute cross section
    for not natural isotopes
- G4HadronCrossSection - fixed IsApplicable method - return false
    if particle is not in the list - not G4HadronicException

22 February 2013 V.Ivanchenko   (hadr-cross-V09-06-06)
-----------------------------------------------------
- G4ComponentSAIDTotalXS - removed G4ThreadLocal dclarations
- G4NeutronCaptureXS, G4NeutronInelasticXS - set IsIsoApplicable
    to "true"

21 February 2013 V.Ivanchenko   (hadr-cross-V09-06-05)
-----------------------------------------------------
- G4ComponentSAIDTotalXS - initialise data in constructor; make
    data static; G4ThreadLocal declaration is left so far, because
    it is not clear if internal G4PhysicsVectors may be shared between
    threads
- G4NeutronCaptureXS, G4NeutronInelasticXS - cleaned up isotope data
    retrieve; added private method IsoCrossSection

29 January 2013 A.Ribon     (hadr-cross-V09-06-04)
----------------------------------------------------
- G4ComponentAntiNuclNuclearXS : consider anti-protons and ant-neutrons
  as default particles, so that they can be used also for anti-hyperons.
  This fixes also a non-reproducibility seen in QBBC.

10 January 2013 W.Pokorski  (hadr-cross-V09-06-03)
----------------------------------------------------
- fixed memory leak

19 December 2012 A.Galoyan (hadr-cross-V09-06-02)
-G4ComponentAntiNuclNuclearXS
bug fixed

17 December 2012 A.Galoyan     (hadr-cross-V09-06-01)
-G4ComponentAntiNuclNuclearXS
description of class is implemented

3 December 2012  D.H. Wright  (hadr-cross-V09-06-00)
----------------------------------------------------
- fix several bugs indicated by Coverity:
  G4ComponentAntiNuclNuclearXS.cc - initialize several varibales in ctor
  G4ComponentGGNuclNuclXsc.cc - fix memory leak
    hnXsc = new G4HadronNucleonXsc() by deletion in dtor
  G4GGNuclNuclCrossSection.cc - fix memory leak
    hnXsc = new G4HadronNucleonXsc() by deletion in dtor
  G4ElectroNuclearCrossSection::GetEquivalentPhotonEnergy() - initialize
    array Y[] to 0.0

14 November 2012 V.Ivanchenko   (hadr-cross-V09-05-43)
-----------------------------------------------------
- G4ComponentSAIDTotalXS - more extended exception printout

07 November 2012 W.Pokorski   (hadr-cross-V09-05-42)
---------------------------------------------------
- making exception in G4CrossSectionDataSetRegistry::GetCrossSectionDataSet optional
(returning null pointer)

05 November 2012 V.Ivanchenko   (hadr-cross-V09-05-41)
-----------------------------------------------------
- G4BGGNucleonElasticXS, G4BGGPionElasticXS, G4UPiNuclearCrossSection
    fixed Coverity complains - implemented initialisation of class
    members in constructors

02 November 2012 W.Pokorski   (hadr-cross-V09-05-40)
---------------------------------------------------
- making two methods in CHIPS XS public for the use of quasi-elastic

01 November 2012 V.Ivanchenko   (hadr-cross-V09-05-39)
---------------------------------------------------
- G4VCrossSectionDataSet - added virtual method SelectIsotope which is used
    for element wise cross section allowing for the dataset to use isotope
    wise cross section when isotope is selected; by default the old
    method is used based on isotope abundancy, so no change of results
    is expected
- G4NeutronCaptureXS - implement isotope selection based on isotope cross
    section

26 October 2012 W.Pokorski   (hadr-cross-V09-05-38)
---------------------------------------------------
- setting min kin energy in G4GGNuclNuclCrossSection to 0

25 October 2012 W.Pokorski   (hadr-cross-V09-05-37)
---------------------------------------------------
- (V. Grischine) removing Z > 1 condition from G4GGNuclNuclCrossSection

- (V. Ivanchenko) G4UPiNuclearCrossSection - cosmetic modification - more clean destructor
    implementation

23 October 2012 W.Pokorski   (hadr-cross-V09-05-36)
---------------------------------------------------
- fixing the static builds (adding references to factories)

23 October 2012 W.Pokorski   (hadr-cross-V09-05-35)
---------------------------------------------------
- fixing another bug (double deletion) from previous tag...

23 October 2012 W.Pokorski   (hadr-cross-V09-05-34)
---------------------------------------------------
- fixing bug (double deletion) from previous tag

G4NucleonNuclearCrossSection and G4GGNuclNuclCrossSection
23 October 2012 W.Pokorski   (hadr-cross-V09-05-33)
---------------------------------------------------
- adding factory mechanism for G4GlauberGribovCrossSection,
G4NucleonNuclearCrossSection and G4GGNuclNuclCrossSection

18 October 2012 V.Ivanchenko (hadr-cross-V09-05-32)
---------------------------------------------------
- G4NeutronCaptureXS - fixed compillation problem

18 October 2012 W.Pokorski   (hadr-cross-V09-05-31)
---------------------------------------------------
- removing ChipsBaseXS class

15 October 2012 V.Ivanchenko (hadr-cross-V09-05-30)
---------------------------------------------------
- G4NeutronCaptureXS - use G4ElementData for isotope x-sections
- G4BGGNucleonInelastic, G4BGGNucleonElastic - use SAID data for scattering
    off hydrogen below 1.3 GeV for neutrons and below 2 GeV for protons
- G4BGGPionInelastic, G4BGGPionElastic - use SAID data for scattering
    off hydrogen below 2.6 GeV
- G4ComponentSAIDTotalXS - fixed cross section computation

20 September 2012 G.Cosmo (hadr-cross-V09-05-29)
------------------------------------------------
- Explicitly use inclusion of headers for system of units and physical
  constants, in plan to remove implicit inclusion from globals.hh.

22 August 2012 V.Ivanchenko (hadr-cross-V09-05-28)
--------------------------------------------------
- G4CrossSectionDataStore - Pere Mato fixed a bug in cash mechanism
  for element cross section

14 August 2012 A.Ribon (hadr-cross-V09-05-27)
-----------------------------------------------
- Fixed Coverity complain in G4CrossSectionDataStore.cc .

31 July 2012 V.Ivanchenko (hadr-cross-V09-05-26)
-----------------------------------------------
- G4CrossSectionDataStore - introduced cash for material and element
  cross sections in order to save CPU; cross section for material
  is not recomputed if material, primary particle and kinetic
  energy are the same; cross section for element is not recomputed
  if material, element, primary particle and kinetic energy are the
  same; G4Nucleus is updated using new method SetIsotope

20 July 2012 W.Pokorski (hadr-cross-V09-05-25)
-----------------------------------------------
- Removing unnecesary statics in all the Chips cross sections.

20 July 2012 W.Pokorski (hadr-cross-V09-05-24)
-----------------------------------------------
- Removing check for equal momenta in following interactions for kaons.

17 July 2012 W.Pokorski (hadr-cross-V09-05-23)
-----------------------------------------------
- Removing first bunch of statics from Chips XS.

17 July 2012 G.Folger  (hadr-cross-V09-05-22)
-----------------------------------------------
- Correct order for initialising data members in ctor.

17 July 2012 G.Folger  (hadr-cross-V09-05-21)
-----------------------------------------------
- Add missing headers and sources to sources.cmake.

13 July 2012 G.Folger  (hadr-cross-V09-05-20)
-----------------------------------------------
- Fix coverity warning in G4CrossSectionPairGG.cc, where an invalid iterator
  could be used, beyond container.

4 July 2012 W.Pokorski (hadr-cross-V09-05-19)
-----------------------------------------------
- Fixing double deletion in Chips cross sections

2 July 2012 V.Ivanchenko (hadr-cross-V09-05-18)
-----------------------------------------------
- G4HadronCrossSections - fixed problem of compillation at Windows

2 July 2012 V.Ivanchenko (hadr-cross-V09-05-17)
-----------------------------------------------
- Tagged.

22 June 2012 W.Pokorski
-----------------------------------------------
- Removing fix from hadr-cross-V09-05-16, which was wrong and not
  needed. Sorry for the noise.

22 June 2012 V.Ivanchenko
-----------------------------------------------
- G4HadronCrossSections - use cache of previous x-section and G4Pow
- G4CrossSectionDataStore - take into account that all elements
  should have isotopes

22 June 2012 W.Pokorski  (hadr-cross-V09-05-16)
-----------------------------------------------
- Fix to avoid double deletion on exit

15 June 2012 P. Mato  (hadr-cross-V09-05-15)
-----------------------------------------------
- Minor changes in the references to also please Windows

15 June 2012 P. Mato  (hadr-cross-V09-05-14)
-----------------------------------------------
- Add references to factories to make it work with static libraries

12 June 2012 W.Pokorski  (hadr-cross-V09-05-13)
-----------------------------------------------
- Making Chips elastic cross sections to use factory mechanism

11 June 2012 W.Pokorski  (hadr-cross-V09-05-12)
-----------------------------------------------
- Making Chips inelastic cross sections to use factory mechanism

08 June 2012 V.Ivanchenko  (hadr-cross-V09-05-11)
-----------------------------------------------
- G4ComponentSAIDTotalXS - added new class

08 June 2012 Gabriele Cosmo  (hadr-cross-V09-05-10)
-----------------------------------------------
- Fixed trivial cases of hidden variable visibility, detected with
  '-Wshadow' compilation option on gcc compiler.

03 June 2012 Witek Pokorski  (hadr-cross-V09-05-09)
-----------------------------------------------
- Extending the functionality of G4CrossSectionDataSetRegistry to allow
  sharing of cross sections sets.

11 May 2012 Witek Pokorski  (hadr-cross-V09-05-08)
-----------------------------------------------
- Making GetExchangeT method public to be used in coherent_elastic.

11 May 2012 Witek Pokorski  (hadr-cross-V09-05-07)
-----------------------------------------------
- Further fixes for double deletion in the new Chips cross sections.

10 May 2012 Witek Pokorski  (hadr-cross-V09-05-06)
-----------------------------------------------
- Removed double deletion in the new Chips cross sections.

10 May 2012 Witek Pokorski  (hadr-cross-V09-05-05)
-----------------------------------------------
- Added elastic cross-sections extracted from CHIPS.

4 May 2012 Witek Pokorski  (hadr-cross-V09-05-04)
-----------------------------------------------
- Added inelastic cross-sections extracted from CHIPS.

4 May 2012 Vladimir Grichine
-----------------------------------------------
- New class G4ComponentGGNuclNuclXsc based on G4GGNuclNuclCrossSection
  (Glauber-Gribov for ion-ion xsc) was added and component interface was
  implemented
- New class G4ComponentBarNucleonNucleusXsc based on
  G4NucleonNuclearCrossSection (Barashenkov xsc) was added and component
  interface was implemented.

27 April 2012 Vladimir Grichine
-----------------------------------------------
- New class G4ComponentGGHadronNucleusXsc based on G4GlauberGribovCrossSection
  was added and component interface was implemented

24 April 2012 Alberto Ribon  (hadr-cross-V09-05-03)
---------------------------------------------------
- Fixed compilation error in G4GGNuclNuclCrossSection.

24 April 2012 Alberto Ribon  (hadr-cross-V09-05-02)
---------------------------------------------------
- Include updates of Grichine's nucleus radii of light elements
  (see the next comment below).

23 April 2012 Vladimir Grichine
-----------------------------------------------
 G4GGNuclNuclCrossSection.cc updated to get nucleus radii of light elements - p, d,
t, He3, He4, Li7 and Be9.

19 April 2012 Alberto Ribon  (hadr-cross-V09-05-01)
---------------------------------------------------
- Include updates of Grichine's Glauber Gribov hadron-nucleus
  and hadron-nucleon cross sections (see the two next two comments below).

19 March 2012 Vladimir Grichine
-----------------------------------------------
 G4GlauberGribovCrossSection.hh/.cc updated to get total
and inelastic xsc from G4HadronNucleonXsc.

18 March 2012 Vladimir Grichine
-----------------------------------------------
G4HadronNucleonXsc.hh/.cc update of p,n,pi-,pi+ xsc on p,n. New method
GetCoulombBarrier. G4GGNuclNuclCrossSection.hh/.cc updated to get total
and inelastic xsc from G4HadronNucleonXsc.


1 March 2012 Vladimir Ivanchenko  (hadr-cross-V09-05-00)
------------------------------------------------------------
- Fixed Coverity reports in G4NeutronElasticXS, G4NeutronInelasticXS,
  G4KokoulinMuonNuclearXS, G4HadronCrossSections, G4UPiNuclearCrossSection

24 November 2011 Vladimir Uzhinsky  (hadr-cross-V09-04-34)
- G4ComponentAntiNuclNuclearXS - Plab/baryon was introdused
------------------------------------------------------------

24 November 2011 Vladimir Uzhinsky  (hadr-cross-V09-04-33)
------------------------------------------------------------
- G4ComponentAntiNuclNuclearXS - fixed typo in previous tag

24 November 2011 Vladimir Uzhinsky  (hadr-cross-V09-04-32)
------------------------------------------------------------
- G4ComponentAntiNuclNuclearXS
  AntiBaryon-Nucleon cross sections at low energies are fixed
  at value they have at 100 MeV/c of projectile/antinucleon.

12 October 2011 Vladimir Ivanchenko  (hadr-cross-V09-04-31)
------------------------------------------------------------
- G4UPiNuclearCrossSection - fixed Barashenkov data for pi+
- G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS - fixed x-section
    off Hydrogen - use PDG and GHEISHA parameterisations
- G4BGGPionInelasticXS - fixed pi+ cross sections and x-section
    off Hydrogen
- G4TripathiLightCrossSection - added protections against artifact
    values of cross section below Coulomb barrier

10 October 2011 Vladimir Ivanchenko  (hadr-cross-V09-04-30)
------------------------------------------------------------
- G4GlauberGribovCrossSection and G4HadronNucleonXsc extended for kaons
    (V.Grichine)
- G4NucleonNuclearCrossSection - fixed typo in data for Al
- G4BGGNucleonInelasticXS - fixed cross section on Hydrogen

6 November 2011 D.H. Wright  (hadr-cross-V09-04-29)
---------------------------------------------------
- provide descriptions for nearly all cross section classes in method
  CrossSectionDescription()

26 October 2011 D.H. Wright  (hadr-cross-V09-04-28)
---------------------------------------------------
- switch from Description() to CrossSectionDescription(std::ostream&)

24 October 2011 D.H. Wright for Vladimir Grichine  (hadr-cross-V09-04-27)
-------------------------------------------------------------------------
- modified p-p cross sections in G4GGNuclNuclCrossSection.hh, .cc,
  G4GlauberGribovCrossSection.cc and G4HadronNucleonXsc.cc to include
  latest TOTEM data at 7 TeV

21 October 2011 Vladimir Ivanchenko   (hadr-cross-V09-04-26)
------------------------------------------------------------
- G4ElectroNuclearCrossSection - removed not needed G4Exception
- G4PiData - use G4HadronicException instead of G4Exception
- G4HadronCrossSection - moved constructor, destructor and other
    inline methods to the source; make singleton patern classical;
    substitute G4Exception by G4hadronicException

20 October 2011 Vladimir Ivanchenko   (hadr-cross-V09-04-25)
------------------------------------------------------------
- G4BGGNucleonInelasticXS - improved cout
- G4ElectroNuclearCrossSection - removed check of "tolarance"; added
    numerical protections in methods computing equivavalent photon
    energy, Q^2, and virtual factor; FPE crash is not seen anymore;

16 September 2011 Gunter Folger       (hadr-cross-V09-04-24)
------------------------------------------------------------
-  G4NeutronInelasticCrossSection.cc: fix passing double for int
     argument; gcc4.1 did warn about this

14 September 2011 Vladimir Ivanchenko (hadr-cross-V09-04-23)
------------------------------------------------------------
- G4CrossSectionPairGG - protect cout at initialisation by
    verbosityLevel

13 September 2011 Vladimir Ivanchenko (hadr-cross-V09-04-22)
------------------------------------------------------------
- Use G4lrint instead of lrint utility

13 September 2011 Vladimir Ivanchenko (hadr-cross-V09-04-21)
------------------------------------------------------------
- G4VCrossSectionDataSet - added extra include file G4HadTmpUtil.hh

12 September 2011 Vladimir Ivanchenko (hadr-cross-V09-04-20)
------------------------------------------------------------
- G4IonsShenCrossSection - method GetIsoCrossSection is added

12 September 2011 Vladimir Ivanchenko (hadr-cross-V09-04-19)
-----------------------------------------------------------
- G4CrossSectionDataStore - fixed logic in SampleZandA

10 September 2011 Vladimir Ivanchenko (hadr-cross-V09-04-18)
------------------------------------------------------------
- G4CrossSectionDataStore - fixed selection of isotope when element
  cross section is used but isotope composition is defined by the user

6 September 2011 Vladimir Ivanchenko (hadr-cross-V09-04-17)
----------------------------------------------------------
- G4TripathiLightCrossSection - fixed integer Z and A;
- G4VCrossSectionDataSet - fixed inline method for CHIPS
  electro-nuclear cross section computation

6 September 2011 Vladimir Ivanchenko (hadr-cross-V09-04-16)
----------------------------------------------------------
- Fixed signature of Description method in several classes

30 August 2011 Vladimir Ivanchenko (hadr-cross-V09-04-15)
----------------------------------------------------------
- Fixed number of run time problems connected with the migration to the
  new interface

24 August 2011 Vladimir Ivanchenko (hadr-cross-V09-04-14)
----------------------------------------------------------
- G4CrossSectionDataStore - add forgotten return statement

23 August 2011 Vladimir Ivanchenko (hadr-cross-V09-04-13)
----------------------------------------------------------
- G4NeutronInelasticCrossSection, G4EMDissociationCrossSection
  modified to compile model sub-directories

23 August 2011 Vladimir Ivanchenko (hadr-cross-V09-04-12)
----------------------------------------------------------
- Redesign G4VCrossSectionDataSet interface - all classes are affected

03 August 2011 Dennis Wright (hadr-cross-V09-04-11)
---------------------------------------------------
- remove unused parameter aParticleType from DumpHtml() method in
  G4CrossSectionDataStore

02 August 2011 Dennis Wright (hadr-cross-V09-04-10)
---------------------------------------------------
- add G4VCrossSectionDataSet::GetName() to be used with documentation
    reporting
- add Description() method to all classes derived from G4VCrossSectionDataSet
- remove test directory from trunk.  It remains in tag hadr-cross-V09-04-09.

04 June 2011 Vladimir Ivanchenko (hadr-cross-V09-04-09)
----------------------------------------------------------
- G4IonProtonCrossSection - implement all virtual IfApplicable methods
- G4ComponentAntiNuclNuclearXS - added name

19 May 2011 Dennis Wright (hadr-cross-V09-04-08)
------------------------------------------------
- fix gcc-4.6 warnings (variable Delta set but not used) in
  G4GGNuclNuclCrossSection.cc, G4GlauberGribovCrossSection.cc, G4HadronNucleonXsc.cc

16 May 2011 Vladimir Ivanchenko (hadr-cross-V09-04-07)
----------------------------------------------------------
- G4CrossSectionElastic, G4CrossSectionInelastic - do not delete
  component cross section in destructor to avoid double deletion

5 May 2011 Dennis Wright (hadr-cross-V09-04-06)
-----------------------------------------------
- G4TripathiLightCrossSection::GetZandACrossSection: return 0 cross section
  when E_cm <= DBL_MIN, in response to bug report #1174

14 March 2011 Vladimir Ivanchenko (hadr-cross-V09-04-05)
----------------------------------------------------------
- G4CrossSectionDataStore - fixed DumpPhysicsTable method, ion cross
  sections become wrong if this method is invocated
- G4IonsShenCrossSection - extended energy range up to 100 TeV
- G4IonsShenCrossSection, G4IonsSihverCrossSection, G4IonsKoxCrossSection
  moved constructor, destructor and virtual methods to source

24 February 2011 Vladimir Ivanchenko (hadr-cross-V09-04-04)
----------------------------------------------------------
- G4CrossSectionElastic,  G4CrossSectionInelastic - fixed usage in
  Physics List

24 February 2011 Vladimir Ivanchenko (hadr-cross-V09-04-03)
----------------------------------------------------------
- G4VComponentCrossSection - change method names to
     GetTotalElementCrossSection and  GetTotalIsotopeCrossSection
- G4CrossSectionElastic,  G4CrossSectionInelastic,
  G4ComponentAntiNuclNuclearXS - use modified names

17 February 2011 Dennis Wright (hadr-cross-V09-04-02)
-----------------------------------------------------
- new class G4KokoulinMuonNuclearXS added.  This class was created from
  code in the direct-implementation process G4MuNuclearInteraction.  This
  was done to replace the old-style implementation with one conforming to
  the hadronic framework design of process, model, cross section.  The
  new class is now the default cross section for the new
  G4MuonNuclearProcess class.

 2 February 2011 Vladimir Ivanchenko (hadr-cross-V09-04-01)
----------------------------------------------------------
- G4NeutronCaptureXS - added protection for the case Ekin = 0

 8 January 2011 Dennis Wright (hadr-cross-V09-04-00)
----------------------------------------------------
- add cross section name to constructors:  G4VCrossSectionDataSet("CSname")
  so that they can be retrieved for physics list print out

 9 December 2010 Dennis Wright (hadr-cross-V09-03-21)
-----------------------------------------------------
- G4ElectroNuclearCrossSection::GetEquivalentPhotonEnergy() : remove
  initialization of array Y[]. This forced expensive re-calculation
  at each call.

26 November 2010 Vladimir Ivanchenko (hadr-cross-V09-03-20)
----------------------------------------------------------
- G4BGGPionElasticXS, G4BGGNucleonElasticXS,G4BGGNucleonInelasticXS
        fixed low-energy (E < 20 MeV) models
- G4TripathiLightCrossSection - J.M.Quesada fix for threshold shape

23 November 2010 Vladimir Ivanchenko (hadr-cross-V09-03-19)
----------------------------------------------------------
- added G4CrossSectionInelastic and G4CrossSectionElastic - wrappers
	for components

19 November 2010 Gunter Folger       (hadr-cross-V09-03-18)
- replace leftover calls to GetIsoZACrossSection by  GetZandACrossSection, and
   IsZAApplicable by IsIsoApplicable.

18 November 2010 Vladimir Ivanchenko (hadr-cross-V09-03-17)
----------------------------------------------------------
- G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS - do
  not use G4Element, only G4NistManager
- G4ComponentAntiNuclNuclearXS - new class (A.Galoyan)

13 November 2010 Gunter Folger (hadr-cross-V09-03-16)
------------------------------------------------------
- Fix bug from Integer A&Z transition:
  - G4VCrossSectionDataSet.cc:
  make new methods (IsIsoApplicable, GetZandACrossSection) forward to old
  methods (IsZAApplicable, GetIsoZACrossSection); old methods print a obsolete
   warning once.
  - G4CrossSectionDataStore.cc: use new methods only.

12 November 2010  Gunter Folger (hadr-cross-V09-03-15)
------------------------------------------------------
- Add new class G4CrossSectionPairGG to extend a given cross-section with
   a scaled G4GlauberGribovCrossSection. Scaling result in smooth transition.

11 November 2010  Dennis Wright (hadr-cross-V09-03-14)
------------------------------------------------------
Back out memory leak fixes of G4NeutronElasticXS.cc and G4NeutronInelasticXS.cc
Not a memory leak after all.

10 November 2010  Dennis Wright (hadr-cross-V09-03-13)
------------------------------------------------------
NOTE: this tag deals exclusively with fixes of CoVerity-identified
bugs

- G4HadronCrossSections.hh : fix uninitialized variable prevElement in ctor

- Initialize arrays theGlauberFac and theCoulombFac in ctors of
  G4BGGNucleonElasticXS.cc, G4BGGNucleonInelasticXS.cc, G4BGGPionElasticXS.cc,
  G4BGGPionInelasticXS.cc

- Initialize all elements of array Y[nE] to 0.0 in
  G4ElectroNuclearCrossSection::GetEquivalentPhotonEnergy()

- Initialize fTotalXsc, fElasticXsc, fInelasticXsc, fProductionXsc,
  fDiffractionXsc, fHadronNucleonXsc to 0.0 in ctors of
  G4GlauberGribovCrossSection.cc, G4GGNuclNuclCrossSection.cc

- Initialize fTotalXsc, fElasticXsc, fInelasticXsc, fHadronNucleonXsc to 0.0
  in ctor of G4HadronNucleonXsc,

- fix memory leak in G4NeutronElasticXS:Initialise and
  G4NeutronInelasticXS:Initialise :
   const G4Element* Elem =
     G4Element* G4NistManager::FindOrBuildElement(G4int Z, G4bool isotopes)
  Elem goes out of scope, so delete it

- Initialize fTotalXsc, fElasticXsc to 0.0 in ctors of
  G4NucleonNuclearCrossSection.cc, G4PiNuclearCrossSection.cc

- Initialize array theFac in ctors of
  G4UElasticCrossSection.cc, G4UInelasticCrossSection.cc


09 November 2010 Vladimir Ivanchenko (hadr-cross-V09-03-12)
-----------------------------------------------------------
- G4VComponentCrossSection - use G4ParticleDefinition and kinetic
   energy instead of G4DynamicParticle
- G4EMDissociationCrossSection - is now applicable for Hydrogen but
   cross section for Hydrogen is zero


20 October 2010 Gunter Folger (hadr-cross-V09-03-11)
----------------------------------------------------
- add missing inline for GetCrossSection in G4BGGPionElasticXS.hh


15 October 2010 Dennis Wright (hadr-cross-V09-03-10)
----------------------------------------------------
- integer Z and A migration:
  in all cross section data sets, replace IsZAApplicable with IsIsoApplicable
  and replace GetIsoZACrossSection with GetZandACrossSection

23 September 2010 Vladimir Ivanchenko (hadr-cross-V09-03-09)
------------------------------------------------------------
- G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS cleanup:
                    use std vectors instead of C arrays;
                    use G4HadronNucleonXsc class and PDG parameterisation
                    for high energy cross sections off Hydrogen;
                    removed Get/Set methods for verboseLevel

30 July 2010 Vladimir Ivanchenko (hadr-cross-V09-03-08)
- G4IonProtonCrossSection - move virtual methods to source,
                            add constructor and destructor,
                            make G4ProtonInelasticCrossSection class member,
                            fix bug in kinematics

05 July 2010 Vladimir Ivanchenko (hadr-cross-V09-03-07)
- G4VComponentCrossSection - new interface for cross sections
- G4VCrossSectionDataSet - added name, min and max kinetic energy and access
                           methods

11 Jun 2010 Vladimir Ivanchenko (hadr-cross-V09-03-06)
- G4UPiNuclearCrossSection - fixed memory leak at destruction
- G4GlauberGribovCrossSection - (V.Grichine) updated for anti-protons

03 Jun 2010 Vladimir Ivanchenko (hadr-cross-V09-03-05)
------------------------------------------------------
- G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS - substitute
     environment variable G4NEUTRONXS by G4NEUTRONXSDATA

02 Jun 2010 Gunter Folger       (hadr-cross-V09-03-04)
------------------------------------------------------
- fix compilation error on Windows: use G4lrint not lrint

29 Apr 2010 Gunter Folger       (hadr-cross-V09-03-03)
------------------------------------------------------------
- G4CrossSectionDataStore integer Z and A transition
   ( note that cross sections data sets still have G4double in interface)

25 Mar 2010 Vladimir Ivanchenko (hadr-cross-V09-03-02)
------------------------------------------------------------
- G4CrossSectionDataSetRegistry - do not pop_back vector of pointers
   when DeRegister cross section data set - big fixed for Windows

17 Mar 2010 Gabriele Cosmo (hadr-cross-V09-03-01)
------------------------------------------------------------
- Cache computation of std::pow() in GetCaptureCrossSection() method of
  G4HadronCrossSections, to avoid repeated calls with same argument.

26 Feb 2010 Vladimir Ivanchenko (hadr-cross-V09-03-00)
------------------------------------------------------------
- G4UPiNuclearCrossSection - fixed bug for high Z (>83) atoms

9 Dec 2009 Gunter Folger       (hadr-cross-V09-02-18)
------------------------------------------------------------
- G4TripathiLightCrossSection.cc modified by Macrus Mendenhall:
   - re-enable low energy check code, but without creating new instances of
      G4TripathiLightCrossSection

2 Dec 2009 Vladimir Ivanchenko (hadr-cross-V09-02-17)
------------------------------------------------------------
- G4CrossSectionDataSetRegistry - more accurate cross section deletion

25 Nov 2009 Gunter Folger       (hadr-cross-V09-02-16)
------------------------------------------------------------
- modify upper limit of validity to 100 TeV in
  G4NeutronInelasticCrossSection, G4ProtonInelasticCrossSection,
  and G4PiNuclearCrossSection
  Use constant cross section above original range

23 Nov 2009 Vladimir Ivanchenko (hadr-cross-V09-02-15)
------------------------------------------------------------
- fixed mistake in previous tag

20 Nov 2009 Vladimir Ivanchenko (hadr-cross-V09-02-14)
------------------------------------------------------------
- use as a default hadron-nucleon cross section parameterisation
  of Nikolay Starkov in G4GlauberGribovCrossSection,
  G4GGNuclNuclCrossSection, G4NeutronElasticXS, G4NeutronInelasticXS,
  G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS,
  G4BGGPionInelasticXS

19 Nov 2009 Vladimir Ivanchenko (hadr-cross-V09-02-13)
------------------------------------------------------------
- restored head version of hadr-cross-V09-02-06 for all files, added
  bug fixes for G4BGGXX classes and added back new G4NeutronXXXS
  cross sections

17 Nov 2009 Mikhail Kosov (hadr-cross-V09-02-12)
------------------------------------------------------------
- CHIPS-cross_sections dependent classes are temporary moved to
  source/processes/hadronic/models/chiral_inv_phase_space/xs_dependent
  directory (till the beter place for CHIPS physics package is found)

16 Nov 2009 Mikhail Kosov (hadr-cross-V09-02-11)
------------------------------------------------------------
- dependency on CHIPS-cross_sections

12 Nov 2009 Vladimir Ivanchenko (hadr-cross-V09-02-10)
------------------------------------------------------------
- added G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS

11 Nov 2009 Mikhail Kosov (hadr-cross-V09-02-09)
------------------------------------------------------------
- CHIPS inelastic XS implementation in a form of G4VCrossSectionDataSet

4 Nov 2009 Mikhail Kosov (hadr-cross-V09-02-08)
------------------------------------------------------------
- Resolving of the circular dependency with CHIPS for the previous tag

23 Oct 2009 Mikhail Kosov (hadr-cross-V09-02-07)
------------------------------------------------------------
- in G4GlauberGribovCrossSection, G4GGNuclNuclCrossSection, G4HadronNucleonXsc
  the CHIPS hN cross-sections are used directly instead of three times replication

12 Aug 2009 Vladimir Ivanchenko (hadr-cross-V09-02-06)
------------------------------------------------------------
- G4CrossSectionDataSetRegistry - return to more simple variant of
                                  deletion, because of problem for
                                  specific PhysicsLists

08 Aug 2009 Vladimir Ivanchenko (hadr-cross-V09-02-05)
------------------------------------------------------------
- G4TripathiLightIonCrossSection - add simple check that X-section is
                              positive and remove not optimal control
- G4TripathiCrossSection - added constructor and destructor
- G4CrossSectionDataSetRegistry - use pure stl commands to remove elements
                                  of stl vector

21 March 2009 Vladimir Ivanchenko (hadr-cross-V09-02-04)
------------------------------------------------------------
- G4IonsKoxCrossSection, G4IonsShenCrossSection, G4TripathiCrossSection,
  G4TripathiLightCrossSection - added protections against numerical
                                exceptions (V.Grichine)
- G4GGNuclNuclCrossSection - Glauber-Gribov new cross section for ions
                             (V.Grichine)

25 February 2009 Vladimir Ivanchenko (hadr-cross-V09-02-03)
------------------------------------------------------------
- G4CrossSectionDataStore - added protection to the Clean method

14 February 2009 Vladimir Ivanchenko (hadr-cross-V09-02-02)
------------------------------------------------------------
- G4CrossSectionDataStore - added Clean method

06 February 2009 Vladimir Ivanchenko (hadr-cross-V09-02-01)
------------------------------------------------------------

24 January 2009 Vladimir Ivanchenko (hadr-cross-V09-02-00)
------------------------------------------------------------
- G4CrossSectionDataStore - moved constructor and destructor to source,
                            added destruction of data sets, use STL
                            vector instead of C-array
- G4CrossSectionDataSetRegistry - new singleton to keep pointers to
                            cross section data sets
- G4VCrossSectiondataSet - constructor and detructor moved to source and
                           registration/deregistration added

01 December 2008 Vladimir Ivanchenko (hadr-cross-V09-01-07)
------------------------------------------------------------
G4BGGPionElasticXS, G4BGGPionInelasticXS, G4BGGNucleonInelasticXS,
G4BGGNucleonElasticXS, G4UPiNuclearCrossSection - added proper
   Coulomb barrier and cleanup implementations

24 October 2008 Dennis Wright (hadr-cross-V09-01-06)
----------------------------------------------------
- replace G4NucleiPropertiesTable::IsInTable with
  G4NucleiProperties::IsInStableTable for G4PhotoNuclearCrossSection
  and G4ElectroNuclearCrossSection

24 September 2008 Vladimir Ivantchenko (hadr-cross-V09-01-05)
------------------------------------------------------------
- G4GlauberGribovCrossSection provides a smooth transition from
  Barashenkov cross sections at 90 GeV; set threshold 90 GeV
  in classes, where this cross section is used

16 September 2008 Dennis Wright (hadr-cross-V09-01-04)
------------------------------------------------------
- G4PiNuclearCrossSection.cc: comment out G4ping and its instances
  following result of Pete Elmer who showed G4ping is very slow

01 September 2008 Vladimir Ivantchenko (hadr-cross-V09-01-03)
------------------------------------------------------------
- G4CrossSectionDataStore - added method SampleZandA, which
    return G4Element and fill G4Nucleaus

28 April 2008 Dennis Wright (hadr-cross-V09-01-02)
--------------------------------------------------
- T. Koi added capability to use element-based cross section data
  sets if no isotope-based ones are available.  This is required to
  get the HP neutron code to work within the cross section framework
  introduced in version 9.0.
  Files affected: G4CrossSectionDataStore.hh, .cc.  Added method
  whichDataSetInCharge().

- DHW: G4NeutronInelasticCrossSection.cc : fix bug which returned
  zero cross section for 3He

- G4TripathiLightCrossSection::IsApplicable(): bug fix from T. Koi:
  changed theTarget->GetA() to theTarget->GetN()

31 March 2008 Dennis Wright (hadr-cross-V09-01-01)
--------------------------------------------------
- G4GlauberGribovCrossSection.cc and G4HadronNucleonXsc.cc - put ()
  around && in || in order to fix gcc-4.3 compiler warnings.

17 January 2008 Vladimir Ivantchenko (hadr-cross-V09-01-00)
----------------------------------------------------------
- G4PhotoNuclearCrossSection and G4ElectroNuclearCrossSection - move
   compicate inlined method with many returns to source; fixed one wrong
   return value (was zero instead of pseudo-inf) and comment out
   extra warning which tell nothing useful to users

28 June 2007 Dennis Wright (hadr-cross-V09-00-00)
-------------------------------------------------
- V. Grichine changed log to std::log in G4HadronNucleonXsc.cc and
    G4GlauberGribovCrossSection.cc
- D. Wright added log(0) protection in G4NeutronInelasticCrossSection.cc
    and G4ProtonInelasticCrossSection.cc

15 June 2007 Gabriele Cosmo (hadr-cross-V08-03-04)
--------------------------------------------------
- Fixed memory leak in classes G4ElectroNuclearCrossSection and
  G4PhotoNuclearCrossSection.

08 June 2007 Vladimir Grichine
------------------------------
- Fixed bug in push_back of fTotalXsc for pi- in G4PiNuclearCrossSection.

08 June 2007 Vladimir Ivantchenko (hadr-cross-V08-03-03)
-------------------------------------------------------
- G4PiNuclearCrossSection.cc - fix non-initilised total cross section
                               for pi-

30 May 2007 Dennis Wright (hadr-cross-V08-03-02)
------------------------------------------------
- G4GlauberGribovCrossSection.cc, G4HadronNucleonXsc.cc
    fix compiler warning: un-initialized variable

24 May 2007 Dennis Wright (hadr-cross-V08-03-01)
------------------------------------------------
- G4HadronCrossSections.hh, .cc : replace PSIZE with NPARTS to avoid
    name conflict with SDK windows environment

23 May 2007 Dennis Wright for Vladimir Grichine (hadr-cross-V08-03-00)
----------------------------------------------------------------------
- G4GlauberGribovCrossSection.hh, .cc : add new methods:

    G4double GetRatioSD(const G4DynamicParticle*, G4double At, G4double Zt);
    G4double GetRatioQE(const G4DynamicParticle*, G4double At, G4double Zt);

     allowing one to get qe/in and sd/in ratios.

- G4HadronNucleonXsc.hh, .cc : add new method GetHadronNucleonXscMK to get
     hadron-nucleon cross section using Mikhail Kossov's parameterization.

03 May 2007 Dennis Wright (hadr-cross-V08-02-06)
------------------------------------------------
- G4HadronCrossSections::GetParticleCode() : replace code which
    tested by particle name with code that tests by PDG ID.  Also
    use switch-case instead of else-if.

02 Apr 2007 Gunter Folger (hadr-cross-V08-02-05)
------------------------------------------------
- G4PiNuclearCrossSection.cc: remove special treatment ('tuning')
    for Copper (Z=29), i.e. the Cu cross section is no longer lowered by 4%

22 Mar 2007 Dennis Wright for V. Ivanchenko (hadr-cross-V08-02-04)
------------------------------------------------------------------
- G4UPiNuclearCrossSection.cc: better handling of low energy cross sections
- Added new classes (V.Ivanchenko):
    G4BGGNucleonElasticXS: proton and neutron elastic cross section wrapper
                           class using Barashenkov parameterization below
                           100 GeV and Glauber-Gribov model above
    G4BGGNucleonInelasticXS: proton and neutron inelastic cross section
                             wrapper of Barashenkov-Glauber-Gribov
    G4BGGPionElasticXS: pion elastic cross section wrapper of BGG
    G4BGGPionInelasticXS: pion inelastic cross section wrapper of BGG

8 Mar 2007 Dennis Wright for V. Ivanchenko (hadr-cross-V08-02-03)
-----------------------------------------------------------------
- use G4NucleonNuclearCrossSection in G4UInelasticCrossSection and
  G4UElasticCrossSection (V.Ivanchenko)
- complete implementations of A and Z interfaces to classes (V.Ivanchenko):
  G4UPiNuclearCrossSection
  G4UInelasticCrossSection
  G4UElasticCrossSection
  G4GlauberGribovCrossSection
  G4NucleonNuclearCrossSection

30 Jan 2007 Dennis Wright (hadr-cross-V08-02-02)
------------------------------------------------
- add divide by zero protection to
  G4CrossSectionDataStore::SelectRandomIsotope

27 Jan 2007 V. Ivanchenko (hadr-cross-V08-02-01)
------------------------------------------------
- add implementations of A and Z interfaces to classes:
  G4UPiNuclearCrossSection
  G4UInelasticCrossSection
  G4UElasticCrossSection
  G4GlauberGribovCrossSection
  G4NucleonNuclearCrossSection

27 Dec 2006 Dennis Wright (hadr-cross-V08-02-00)
------------------------------------------------
- added handling of user-defined isotope abundances for elements and
  proper cross section and abundance weighted choice of isotopes in
  reactions.  New virtual methods for IsApplicable and GetCrossSections
  added to classes G4VCrossSectionDataSet and G4CrossSectionDataStore.
  Other classes affected:

   G4EMDissociationCrossSection.hh, .cc
   G4ElectroNuclearCrossSection.hh, .cc
   G4GeneralSpaceNNCrossSection.hh, .cc
   G4HadronCaptureDataSet.hh
   G4HadronCrossSections.hh, .cc
   G4HadronElasticDataSet.hh
   G4HadronFissionDataSet.hh
   G4HadronInelasticDataSet.hh
   G4IonProtonCrossSection.hh
   G4IonsKoxCrossSection.hh, .cc
   G4IonsShenCrossSection.hh, .cc
   G4IonsSihverCrossSection.hh, .cc
   G4NeutronInelasticCrossSection.hh, .cc
   G4PhotoNuclearCrossSection.hh, .cc
   G4PiNuclearCrossSection.hh, .cc
   G4ProtonInelasticCrossSection.hh, .cc
   G4TripathiCrossSection.hh, .cc
   G4TripathiLightCrossSection.hh, .cc

  NOTE: This tag should be used with the tag hadr-man-V08-02-00 of the
  hadronic/management directory because G4HadronicProcess was affected
  also.

- from Vladimir Grichine:
   added new class G4NucleonNuclearCrossSection which
   contains Barashenkov cross sections for nucleon-nucleus scattering

   modified the G4PiData and G4GlauberGribovCrossSection classes

   added ROOT files to test/analysis directory


16 Nov 2006 D.W. for Vladimir Grichine (hadr-cross-V08-01-08)
-------------------------------------------------------------
- G4GlauberGribovCrossSection: extend applicability down to 0.3 GeV for
  protons and neutrons (not 100 MeV as in hadr-cross-V08-01-06)

- Dennis Wright: add missing methods
   G4double
   GetHadronNucleaonXsc(const G4DynamicParticle*,G4double At,G4double Zt);
   G4double
   GetHadronNucleaonXscNS(const G4DynamicParticle*,const G4Element*);
   G4double
   GetHadronNucleaonXscNS(const G4DynamicParticle*,G4double At,G4double Zt);
  to get code to compile

- initialize hpXsc, hnXsc to 0

15 Nov 2006 Tatsumi Koi (hadr-cross-V08-01-07)
----------------------------------------------------------------------
- include/G4IonsShenCrossSection.hh
- src/G4IonsShenCrossSection.cc
: extend range of validity to 1TeV/n, using
  constant cross section above 10GeV/n.

13 Nov 2006 Dennis Wright for Vladimir Grichine (hadr-cross-V08-01-06)
----------------------------------------------------------------------
- G4GlauberGribovCrossSection.cc: extend range of validity for protons
  down to 100 MeV

3 Oct 2006 Gunter Folger (hadr-cross-V08-01-04)
---------------------------------------------------
- G4ProtonInelasticCrossSection: extend range of validity to 1TeV, using
   constant cross section above 20GeV.

2 Oct 2006 Vladimir Grichine (hadr-cross-V08-01-03)
---------------------------------------------------

- G4GlauberGribovCrossSection::GetCrossSection() : fix bug in inelastic
cross section.  Bug was discovered in the paper from which the cross
was derived.

31 Aug 2006 Vladimir Ivanchenko (hadr-cross-V08-01-02)
------------------------------------------------------
- new wrapper cross section classes  G4UInelasticCrossSection and
  G4UElasticCrossSection which combine cross sections from different
  data sets
- new G4UPiNuclearCrossSection providing another implementation
  of elastic and inelastic cross sections from Barashenkov


17, 21 Aug 2006 Gunter Folger (same tag as 31 Aug above)
--------------------------------------------------------
- added two missing Ca inelastic pi- entries, changed formatting
- changed scaling of cross sections for elements not tabulated from scaling
  in Z^(2/3) to A^0.75


11 Aug 2006 Dennis Wright (hadr-cross-V08-01-00)
------------------------------------------------
- new cross section class G4GlauberGribovCrossSection for proton, pion,
  kaon, (and maybe gamma and neutron) total and elastic cross sections
  introduced by V. Grichine.  Effective energies: > 3 GeV.

