# Category had-theo-HE 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!

## 2022-11-11 Alberto Ribon (had-theo-HE-V11-00-02)
- G4TheoFSGenerator: simplified treatment for low-energy inelastic nuclear
  reactions of light hypernuclei (because Bertini and Binary intra-nuclear 
  cascade models are not applicable for these projectiles).
  Note that for light anti-hypernuclei, FTF works fine down to zero 
  kinetic energy.

## 2022-05-25 Alberto Ribon (had-theo-HE-V11-00-01)
- `G4TheoFSGenerator`: propagate the information on parent resonance
  (in the `ApplyYourself` method, from `G4ReactionProduct` to `G4HadSecondary`)

## 2021-12-10 Ben Morgan (had-theo-HE-V11-00-00)
- Change to new Markdown History format

---

# History entries prior to 11.0

04-Aug-2021, Alberto Ribon              (had-theo-HE-V10-07-03)
- G4TheoFSGenerator, G4QuasiElasticChannel, G4CRCoalescence : 
  set creator model ID for the secondaries, using the new version of
  G4PhysicsModelCatalog

04-Jun-2021, Alberto Ribon              (had-theo-HE-V10-07-02)
- G4TheoFSGenerator : added accessor (i.e. "Get") methods for the
  corresponding setter methods (i.e. "Set", already existing).
  This can be useful for users to access at run-time some information
  available from a hadronic final-state model.  

16-Apr-2021, Ben Morgan                 (had-theo-HE-V10-07-01)
- Migrate build to modular CMake API

13-Apr-2021, Alberto Ribon              (had-theo-HE-V10-07-00)
- 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).
  Removed also the useless dependency to hadronic/process.

07-Nov-2020, Vladimir Ivanchenko        (had-theo-HE-V10-06-04)
- G4CRCoalescence : use inheritance from G4HadronicInteraction
- G4TheoFSGenerator : instantiate G4CRCoalescence once in the thread

05-Nov-2020, Alberto Ribon              (had-theo-HE-V10-06-03)
- G4CRCoalescence : new class, based on the work by Diego Mauricio
  Gomez Coral for the GAPS Collaboration, for applying coalescence to
  the secondaries produced by string model to form deuterons and
  antideuterons from, respectively, proton-neutron and
  antiproton-antineutron pairs with close momenta.
  This class can be useful in particular for Cosmic Ray applications.
- G4TheoFSGenerator : in the method ApplyYourself, apply G4CRCoalescence
  to the candidate secondaries produced by the string model, if the
  corresponding switch is enabled (by default it is disabled).

24-Jul-2020, Alberto Ribon              (had-theo-HE-V10-06-02)
- G4TheoFSGenerator : introduced a temporarily dummy treatment of
  heavy (charm and bottom) projectile hadrons at low energies
  (below 100 MeV).
  Cascade models are currently not applicable for heavy hadrons and
  string models cannot handle them properly at very low energies,
  so we return as final state the initial state unchanged.
  Note that, for most applications, this is a safe simplification,
  giving that the nearly all slowly moving charm and bottom hadrons
  decay before any hadronic interaction can occur.

05-Mar-2020, Vladimir Ivanchenko        (had-theo-HE-V10-06-01)
- G4QuasiElasticChannel, G4TheoFSGenerator - clean-up: use C++11
    keywords and loops, removed unused methods, coherently aline
    identation and brackets

24-Feb-2020, Vladimir Ivanchenko        (had-theo-HE-V10-06-00)
- G4QuasiElasticChannel - use inheritance from G4HadronicInteraction
  G4TheoFSGenerator - do not destruct G4QuasiElasticChannel

23-Jun-2017, Gunter Folger              (had-theo-HE-V10-03-02)
- fix memory leak introduced by changes for passing creator model.

31-May-2017, G.Folger                   (had-theo-HE-V10-03-01)
- retag to include History

31-May-2017, G.Folger                   (had-theo-HE-V10-03-00)
- G4TheoFSGenerator: pass through CreatorModel and time

07-Aug-2015, A.Ribon                    (had-theo-HE-V10-01-03)
- G4QuasiElasticChannel : checking of 'while' loops.

17-Apr-2015, W.Pokorski                 (had-theo-HE-V10-01-02)
- fixing memory leak

17-Apr-2015, W.Pokorski                 (had-theo-HE-V10-01-01)
- fixing stupid mistake in the previous tag

17-Apr-2015, W.Pokorski                 (had-theo-HE-V10-01-00)
- update for new quasi-elastic class structure

6-Nov-2014, G.Folger                    (had-theo-HE-V10-00-07)
- remove G4LMsdGenerator and G4LMsdChannel also in source.cmake

6-Nov-2014, V.Grichine, G.Folger        (had-theo-HE-V10-00-06)
- remove G4LMsdGenerator and G4LMsdChannel

15-Oct-2014, V. Grichine:               (had-theo-HE-V10-00-05)
- G4LMsdGenerator and G4LMsdChannel were added
  to provide interface to inelastic single diffraction dissociation

1-July-2014, Gunter Folger              (had-theo-HE-V10-00-04)
- Updates to ModelDescription(); updated text and recurse to propagate.

2-June-2014, Gunter Folger              (had-theo-HE-V10-00-03)
- one extra G4ParticleDefinition* made const, even if not required.

19-May-2014, Gunter Folger              (had-theo-HE-V10-00-02)
- fix left over non const G4ParticleDefinition * in G4QuasiElasticChannel

05-March-2014, Gunter Folger            (had-theo-HE-V10-00-01)
- G4TheoFSGenerator: remove const_cast for ParticleDefinition and
   simplify code.

29-Jan-2014, Gunter Folger              (had-theo-HE-V10-00-00)
- Removed models/common from sources.cmake

16-July-2013   G. Cosmo       hadr-theo-HE-V09-06-05
-  Correction to CMake scripts for granular build.

04-June-2013   A. Ribon       had-theo-HE-V09-06-04
-  Fix access to ions via the IonTable class and GetIon method
   in G4QuasiElasticChannel.cc

29-January-2013   V. Uzhinsky had-theo-HE-V09-06-03
-  A new attempt to implement NuclNucl interactions

8-January-2013   V. Uzhinsky had-theo-HE-V09-06-02
-  A new attempt to implement NuclNucl interactions

17-December-2012 V. Uzhinsky had-theo-HE-V09-06-01
-  An interface for a manipulation with nucleus-nucleus interactions was
   introduced. Alberto's comments are removed.

13-December-2012 A.Ribon    had-theo-HE-V09-06-00
-  Removed G4ProjectileDiffractiveChannel (which depends on CHIPS),
   and temporary commenting Uz. changes in the tag below.

20-November-2012 V. Uzhinsky had-theo-HE-V09-05-05
-  An interface for a manipulation with nucleus-nucleus interactions was
   introduced, especially for treating remnants of projectile nuclei.

17-July-2012, G.Folger      had-theo-HE-V09-05-04
-  coverity fixes in G4TheoFSGenerator.cc

21-June-2012, W.Pokorski    had-theo-HE-V09-05-03
-  removed dependency on CHIPS from the sources.cmake file

11-June-2012, G.Folger	    had-theo-HE-V09-05-02
-  avoid shadowing of variables
-  some cleanup of G4QuasiElasticChannel.cc

25-May-2012, G.Folger	    had-theo-HE-V09-05-01
- G4TheoFSGenerator: add Modeldescription()


02-May-2012, G.Folger                   ( ..trunk.. )
- revert changes by Mikhail ( revs: r58279, r58259 )

28 April 2012 - M.Kosov    had-theo-HE-V09-05-00
- hadronic/models/chiral_inv_phase_space moved to hadronic/chips

08-Nov-2011, G.Folger	    had-theo-HE-V09-04-04
- G4QuasiElasticChannel: use QuasiElRatios from models/quasi_elastic
	in place of QuasiFreeRatios from chips.
	also update Gnumakefile and sources.cmake for added(*) dependency.
	 (*) ProjectileDiffraction still(?) relies on chips, so dependency on chips
	 cannot be removed.

21-Sep-2011, G.Folger	    had-theo-HE-V09-04-03
              note that had-theo-HE-V09-04-02 was done without record
- G4ProjectileDiffractiveChannel.cc: finish migration to integer A&Z
- G4QuasiElasticChannel: use QuasiFreeRatios in place of QuasiElRatios

8-Aug-2011, M. Kelsey
- G4QuasiElasticChannel:  Move #includes from .hh to .cc to reduce external
  dependences.

5-Aug-2011, M. Kelsey	    had-theo-HE-V09-04-01
- G4TheoFSGenerator.cc, G4QuasiElasticChannel.cc: Follow change in return
  value of G4V3DNucleus::GetNucleons()

  Requires consistent changes in other packages:
  	hadr-modman-V09-04-01
  	hadr-mod-util-V09-04-02
	had-partonstring-mgt-V09-04-01
  	hadr-qgsm-V09-04-04
  	had-theo-HE-V09-04-01

17-Mar-2011 G.Folger        had-theo-HE-V09-04-00
-  Add G4TheoFSGenerator::GetEnergyMomentumCheckLevel() method.
-  M.Kelsey: store primary particle, so that cascade in Propagate has access

17-Sep-2010 G.Folger        had-theo-HE-V09-03-01
-  Correct G4QuasiElasticChannel for bug introduced in A&Z migration

16-Sep-2010 G.Folger        had-theo-HE-V09-03-00
-  Migrate G4QuasiElasticChannel to interger A&Z

16-Nov-2009 M.Kosov         had-theo-HE-V09-02-03
- Correct dependency on CHIPS

29-Apr-2009 M.Kosov         had-theo-HE-V09-02-02
- Quasi Elastic part is made more used in QGSC at low energies to improve
  the performance of QGSC at low energies

8-Apr-2008  G.Folger        had-theo-HE-V09-01-01
-  Remove unused variable Z in G4QuasiElasticChannel.cc


8-Apr-2008  G.Folger        had-theo-HE-V09-01-00
-  Add Fermi momentum to quasi elastic scattering

15-Nov-2007 G.Folger        had-theo-HE-V09-00-01
-  Correct Projectile Diffractive scattering: when a very unusal nucleus
    PDGcode is given by chips, recreate another final state.

13-Nov-2007 G.Folger        had-theo-HE-V09-00-00
-  Add Channel for Projectile Diffractive scattering

12-04-2007 Gunter Folger    had-theo-HE-V08-02-01
-  add model name to identify model for hadronic whiteboard; default for
   G4TheoFSGenerator is "TheoFSGenerator", but the ctor in physics lists should
   set better name

30-03-2007 Gunter Folger    had-theo-HE-V08-02-00
- add G4QuasiElasticChannel to simulate quasielastic scattering; Relies on
   Chips class  G4QuasiFreeRatios.
- modify G4TheoFSGenerator use G4QuasiElasticChannel to add quasielastic
   scattering for string models, and use these in competition to the string
   model.
