# Category phys-ctor-helastic 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!

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

## 2026-01-21 Vladimir Ivanchenko (phys-ctor-helastic-V11-03-01)
- G4ChargeExchangePhysics, G4ChargeExchangemessenger - added two
    different biasing factors for pions and kaons (urgent request of NA64).

## 2025-04-15 Vladimir Ivanchenko (phys-ctor-helastic-V11-03-00)
- G4ChargeExchangePhysics - fixed usage of the messenger

## 2024-07-03 Robert Hatcher (phys-ctor-helastic-V11-02-00)
- Add self registration of G4ThermalNeutrons with the constructor factory

## 2023-10-31 Vladimir Ivanchenko (phys-ctor-helastic-V11-01-06)
- G4ChargeExchangePhysics, G4ChargeExchangeMessenger - added UI commands

## 2023-10-25 Vladimir Ivanchenko (phys-ctor-helastic-V11-01-05)
- G4ChargeExchangePhysics -  added Set method for the factor multiplying
    the cross section (NA64 request). 

## 2023-10-23 Vladimir Ivanchenko (phys-ctor-helastic-V11-01-04)
- G4ChargeExchangePhysics - added low energy limit to cross section of the
    charge exchange process allowing use of it on top of any physics without
    any cross section correction

## 2023-10-15 Vladimir Ivanchenko (phys-ctor-helastic-V11-01-03)
- G4HadronElasticPhysics, G4HadronElasticPhysicsXS, G4HadronElasticPhysicsHP, 
  G4HadronElasticPhysicsPHP - more accurate instantiation of models, cross
    sections, and the neutron general process
- G4HadronElasticPhysicsVI - used alternative HP model and cross section

## 2023-08-25 Vladimir Ivanchenko (phys-ctor-helastic-V11-01-02)
- G4ChargeExchangePhysics - do not use G4PhysicsListHelper, because 
    charge exchange process is an addition to the main hadron process 

## 2023-07-21 Vladimir Ivanchenko (phys-ctor-helastic-V11-01-01)
- G4ChargeExchangePhysics - updated constructor according to a new conception

## 2023-04-13 Alberto Ribon (phys-ctor-helastic-V11-01-00)
- Created new class G4HadronElasticPhysicsHPT, which inherits from
  G4HadronElasticPhysicsHP and activates the special treatment of elastic
  scattering of thermal neutrons.
- G4HadronElasticPhysicsHP : changed the method ConstructProcess from "final"
  to "override", to be able to define the ConstructProcess method for the
  derived class G4HadronElasticPhysicsHPT.

## 2022-11-24 Gabriele Cosmo (phys-ctor-helastic-V11-00-03)
- Fixed compilation warnings for implicit type conversions on macOS/XCode 14.1.

## 2022-11-11 Alberto Ribon (phys-ctor-helastic-V11-00-02)
- G4HadronElasticPhysics : extended nuclear elastic for light hypernuclei and
  anti-hypernuclei projectiles.

## 2022-08-21 Vladimir Ivanchenko (phys-ctor-helastic-V11-00-01)
- G4HadronElasticPhysics - use G4HadProcesses utility to build neutron 
    elastic, which allows to use an option of neutron general process

## 2021-12-10 Ben Morgan (phys-ctor-helastic-V11-00-00)
- Change to new Markdown History format

---

# History entries prior to 11.0

20-May-2021 Vladimir Ivanchenko (phys-ctor-helastic-V10-07-06)
- in all constructors use verbosity level from G4HadronicParameters

16-April-2021 Ben Morgan (phys-ctor-helastic-V10-07-05)
- Migrate build to modular CMake API

13-Apr-2021, Alberto Ribon (phys-ctor-helastic-V10-07-04)
-  GNUmakefile, sources.cmake : removed dependency on hadronic/model/util
   and hadronic/model/management (that have been now deleted, with their
   classes moved to hadronic/util and hadronic/management).

08-Mar-2021, Alberto Ribon (phys-ctor-helastic-V10-07-03)
- G4ChargeExchangePhysics : set explicitly the elastic cross sections
  according to the hadron type, given that the universal Gheisha
  elastic cross section has been deleted.

15-Feb-2021, Alberto Ribon (phys-ctor-helastic-V10-07-02)
- G4HadronHElasticPhysics : fixed problem of fully overlapping energy
  transition between G4HadronElastic and G4ChipsElasticModel, using
  now G4ChipsElasticModel only for Hydrogen element above 10 MeV.

11-Dec-2020, Vladimir Ivanchenko (phys-ctor-helastic-V10-07-01)
- G4HadronDElasticPhysics, G4HadronHElasticPhysics : use inheritance
    from G4HadronElasticPhysics; use G4HadProcesses, G4PhysListUtil,
    and G4HadParticles; implement x-section factor

07-Dec-2020, Vladimir Ivanchenko (phys-ctor-helastic-V10-07-00)
- G4HadronElasticPhysics : fixed type of builder in all hadron
    elastic constructors (problem #2183)
  G4IonElasticPhysics, G4ThermalNeutrons - added comments

01-Oct-2020, V. Ivanchenko  (phys-ctor-helastic-V10-06-06)
- G4ThermalNeutrons - use G4PhysListUtils to access neutron elastic
    process

17-Sep-2020, A. Ribon       (phys-ctor-helastic-V10-06-05)
- G4HadronHElasticPhysics : added elastic scattering for charm and bottom
  hadrons (needed for FTFP_BERT_TRV).

24-Aug-2020, V. Ivanchenko  (phys-ctor-helastic-V10-06-04)
- G4HadronElasticPhysics - use G4HadProcesses and G4PhysListUtil

01-Aug-2020, V. Ivanchenko  (phys-ctor-helastic-V10-06-03)
- G4HadronElasticPhysics - added optional cross section factor
    for systematics studies

20-Jul-2020, V. Ivanchenko  (phys-ctor-helastic-V10-06-02)
- G4HadronElasticPhysics - instantiate anti-hyperons

02-Jul-2020, V. Ivanchenko  (phys-ctor-helastic-V10-06-01)
- G4HadronElasticPhysics - use coherently with inelastic physics
    builder new utilities: G4HadParticles and G4HadronicBuilder

30-Apr-2020 Ben Morgan      (phys-ctor-helastic-V10-06-00)
-  Remove obsolete GRANULAR_DEPENDENCIES entries

22-Oct-2019, A. Ribon       (phys-ctor-helastic-V10-05-03)
- G4HadronElasticPhysics, G4HadronDElasticPhysics : use the Glauber-Gribov
  elastic cross section for anti-baryons also for anti-neutron;
  extended to sigma0, anti_sigma0 and xi0.
- G4HadronHElasticPhysics : use the Glauber-Gribov elastic cross section
  for anti-hyperons (instead of Chips).
- README : updated.

06-Aug-2019, V. Ivanchenko  (phys-ctor-helastic-V10-05-02)
- G4HadronElasticPhysics - use HE elastic model for the full energy range

08-May-2019, V. Ivanchenko  (phys-ctor-helastic-V10-05-01)
- G4HadronElasticPhysics : use Glauber-Gribov x-section for hyperons
- G4HadronDElasticPhysics, G4HadronDElasticPhysics : use
    Glauber-Gribov x-section for hyperons, d, t, He3, He4
- G4HadronElasticPhysicsXS, G4IonElasticPhysics - removed commented lines

05-Mar-2019, A. Ribon       (phys-ctor-helastic-V10-05-00)
- G4HadronElasticPhysics : for deuteron, triton and alpha, use Glauber-Gribov
  elastic cross sections (instead of Gheisha ones, which returns zero).

26-Nov-2018, A. Ribon       (phys-ctor-helastic-V10-04-05)
- README : updated this file. No changes to anything else.

22-Nov-2018, V. Ivanchenko  (phys-ctor-helastic-V10-04-04)
- G4HadronElasticPhysics, G4HadronElasticPhysicsXS - use
    G4BGGNucleonElasticXS x-section for protons

17-Oct-2018, A. Ribon       (phys-ctor-helastic-V10-04-03)
- G4HadronHElasticPhysics : for hyperon elastic cross sections,
  replaced Chips cross sections with Glauber-Gribov ones.

19-Jul-2018, V. Ivanchenko  (phys-ctor-helastic-V10-04-02)
- G4HadronElasticPhysics - fixed problem introduced in previous tags
    for Hadr06 and Hadr07 extended examples

17-Jul-2018, V. Ivanchenko  (phys-ctor-helastic-V10-04-01)
- G4ChargeExchangePhysics, G4IonElasticPhysics, G4ThermalNeutrons
    removed static members; use C++11 keywards

17-Jul-2018, V. Ivanchenko  (phys-ctor-helastic-V10-04-00)
- G4HadronElasticPhysics - added service methods GetElasticProcess(..),
    GetElasticModel(..) , AddXSection(..); use C++11 keywards;
    removed unnecessary statics
- G4HadronElasticPhysicsHP, G4HadronElasticPhysicsPHP,
  G4HadronElasticPhysicsXS, G4HadronElasticPhysicsLEND - use inheritance
    from G4HadronElasticPhysics; removed most of static members; use
    C++11 keywards
- G4HadronElasticPhysicsXS - fix problem #2057
- G4HadronDElasticPhysics, G4HadronHElasticPhysics - use C++11 keywards

10-Nov-2017, T. Koi         (phys-ctor-helastic-V10-03-04)
- Dumpping LEND target information in G4HadronElasticPhysicsLEND

7-Nov-2017, T. Koi         (phys-ctor-helastic-V10-03-03)
- G4HadronElasticPhysicsLEND: Modify setting of selection of target data

19-Oct-2017, A. Ribon         (phys-ctor-helastic-V10-03-02)
- G4HadronHElasticPhysics : use G4NuclNuclDiffuseElastic for the elastic
  scattering of light and generic ions (this is possible now because
  the latest version of G4NuclNuclDiffuseElastic respects reproducibility).

14-Aug-2017, A. Ribon         (phys-ctor-helastic-V10-03-01)
- G4HadronElasticPhysics, G4HadronHElasticPhysics : changed kaon elastic
  cross sections from, respectively, Gheisha (used in G4HadronElasticPhysics)
  and Chips (used in G4HadronHElasticPhysics), to Grichine's Glauber Gribov
  ones. In this way, the total (elastic + inelastic) kaon cross sections
  are consistent with the PDG ones.
  Notes:
  - For the time being, kept the original elastic final-state model
    (i.e. Gheisha in G4HadronElasticPhysics and Chips in
    G4HadronHElasticPhysics).
  - These two changes should be used also for the next patch of G4 10.3
    (i.e. for 10.3.p03 : the two files G4HadronElasticPhysics.cc and
    G4HadronHElasticPhysics.cc can be taken directly).

04-May-2017, V.Ivanchenko     (phys-ctor-helastic-V10-03-00)
- G4ThermalNeutrons - new class for addition of thermal neutron
    scattering below 4 eV (backported from CMS simulation)

04-Nov-2016, Alberto Ribon    (phys-ctor-helastic-V10-02-04)
- Written first draft of the README

16-October-2016 M.Maire  (phys-ctor-helastic-V10-02-03)
- add README

12-October-2016 G.Folger  (phys-ctor-helastic-V10-02-02)
- replace direct use of aParticleIterator by GetParticleIterator().
  fix required by clang39 on Windows and MAC

26-May-2016, A. Ribon         (phys-ctor-helastic-V10-02-01)
- G4HadronElasticPhysicsPHP : made it thread-safe.

23-Feb-2016, A. Ribon         (phys-ctor-helastic-V10-02-00)
- G4HadronElasticPhysics : added missing hadron elastic for He3,
  using Glauber-Gribov elastic cross section (Gheisha does not have
  hadronic (elastic and inelastic) cross sections for He3).
  Thanks ALICE for spotting this.

05-Nov-2015, A. Ribon         (phys-ctor-helastic-V10-01-05)
- Removed neutron_hp/

03-Nov-2015, A. Ribon         (phys-ctor-helastic-V10-01-04)
- G4HadronElasticPhysicsHP : migrated to ParticleHP

27-Oct-2015, A. Ribon         (phys-ctor-helastic-V10-01-03)
- G4IonElasticPhysics: replaced the old class G4GlauberGribovCrossSection
  with the new, recommended one G4ComponentGGHadronNucleusXsc

08-Jun-2015, V. Ivanchenko    (phys-ctor-helastic-V10-01-02)
- G4HadronHElasticPhysics - fixed Coverity report (memory leak at exit)

06-Apr-2015, A. Dotti	      (phys-ctor-helastic-V10-01-01)
- Coverity fixes

09-Feb-2015, A. Ribon         (phys-ctor-helastic-V10-01-00)
- G4HadronElasticPhysics: replaced Chips neutron elastic cross section
  with NeutronElasticXS cross section.

24-Nov-2014, V. Ivanchenko    (phys-ctor-helastic-V10-00-09)
- G4HadronHElasticPhysics - corrected addition of low-mass
    diffraction

07-Nov-2014, P. Arce          (phys-ctor-helastic-V10-00-08)
- Add G4HadronElasticPhysicsPHP for particle_hp physics list

07-Nov-2014, V. Ivanchenko          (phys-ctor-helastic-V10-00-07)
- G4HadronHElasticPhysics V. Grichine removed G4LDsdChannel

15-Oct-2014, V. Ivanchenko          (phys-ctor-helastic-V10-00-06)
- G4HadronHElasticPhysics V. Grichine activates diffraction
    dissociation process

01-Aug-2014, Alberto Ribon          (phys-ctor-helastic-V10-00-05)
- G4HadronHElasticPhysics: for proton, neutron, pion+ and pion-
  elastic scattering introduced the Chips model on Hydrogen, while
  kept G4DiffuseElastic for all other elements.

31-Jul-2014, Alberto Ribon          (phys-ctor-helastic-V10-00-04)
- G4HadronHElasticPhysics: to ensure reproducibility, use a different
  instance of G4DiffuseElastic for each particle type (p, n, pi+, pi-),
  and disable G4NuclNuclDiffuseElastic, using Gheisha elastic model
  for light ions (nothing else is available for heavy ions).

06-Jun-2014, Alberto Ribon          (phys-ctor-helastic-V10-00-03)
- G4HadronHElasticPhysics: use G4NuclNuclDiffuseElastic model
  (instead of the Gheisha-based G4HadronElastic) for all ions.

05-Jun-2014, Alberto Ribon          (phys-ctor-helastic-V10-00-02)
- G4HadronHElasticPhysics: improved version of elastic, used temporarily
  only in FTFP_BERT_TRV as playground before becoming the default in
  all physics lists.

04-Jun-2014, Gunter Folger          (phys-ctor-helastic-V10-00-01)
- Fix to previous tag. the previous tag badly screwed up code for
   G4HadronInelastic.

02-Jun-2014, Gunter Folger          (phys-ctor-helastic-V10-00-00)
- G4HadronElasticPhysics: Must not inline Get...() to static member data.
    (fails on Windows)

04-Nov-2013, Tatsumi Koi    		(phys-ctor-helastic-V09-06-06)
- Create G4IonElasticPhysics Elastic Scattering for GenericIon

22-Aug-2013, Vladimir Ivanchenko        (phys-ctor-helastic-V09-06-05)
- G4HadronDElasticPhysics - DiffuseElastic model active above 10 MeV,
    LHEP model - below 10.1 MeV
- G4HadronHElasticPhysics - cleanup

08-Jun-2013, A. Dotti			(phys-ctor-helastic-V09-06-04)
- Bug fix for MT: wasActivated flag becomes TLS
- All private data member are now TLS if in doubt or transformed to
    local variables

29-Mar-2013, Andrea Dotti		(phys-ctor-helastic-V09-06-03)
- Changes needed for MT: now G4VUserPhysicsList is a split class

27-Feb-2013, Vladimir Ivanchenko        (phys-ctor-helastic-V09-06-02)
- G4ChargeExchangePhysics - removed obsolete constructor and member of
    the class to fixed warning from the clang compiler on MacOS

08-Feb-2013, Vladimir Ivanchenko        (phys-ctor-helastic-V09-06-01)
- GNUmakefile fixed - G4LIB_BUILD_EXPAT is added

10-Jan-2013, Gunter Folger              (phys-ctor-helastic-V09-06-00)
- new directory structure introduced.
   constructors/hadron_elastic
