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

     ==========================================================
     Geant4 - an Object-Oriented Toolkit for Physics Simulation
     ==========================================================
$Id: History,v 1.26 2009/12/09 10:36:40 kaitanie Exp $
---------------------------------------------------------------------

           History file for the Liege cascade INCL Model
           ---------------------------------------------

This file should be used to summarize modifications introduced in the 
code and to keep track of all tags.

   ---------------------------------------------------------------
   * Please list in reverse chronological order (last date on top)
   ---------------------------------------------------------------

09 December 2009 - Pekka Kaitaniemi (hadr-incl-V09-02-08)
---------------------------------------------------------
- Fix: Added a safeguard against division by zero in INCL nucleon
  transmission probability calculation.

08 December 2009 - Pekka Kaitaniemi (hadr-incl-V09-02-07)
---------------------------------------------------------
- Fix: Added a safeguard against division by zero in INCL
  initialization.

08 December 2009 - Pekka Kaitaniemi (hadr-incl-V09-02-06)
---------------------------------------------------------
- Fix: Added a safeguard to avoid (hopefully rare) negative energies
  of INCL output particles. This would result in an attempt to take
  square root of a negative number.

04 December 2009 - Pekka Kaitaniemi (hadr-incl-V09-02-05)
---------------------------------------------------------
- Fix: Corrected the G4InclAblaLightIonInterface error handling. In
  case INCL is unable to produce a valid cascade it will return the
  original projectile particle back to Geant4. Unfortunately in case
  of the light ion interface it returned a particle with NULL pointer
  to particle definition.
- Added safeguards to both G4InclAblaCascadeInterface and
  G4InclAblaLightIonInterface to prevent returning of particles with
  NULL definition.

03 December 2009 - Pekka Kaitaniemi (hadr-incl-V09-02-04)
---------------------------------------------------------
- Fix: Added a safeguard against attempts to compute the logarithm of zero in
  INCL

02 December 2009 - Pekka Kaitaniemi (hadr-incl-V09-02-03)
---------------------------------------------------------
- Fix: Corrected datatype problem in INCL initialization

22 November 2009 - Pekka Kaitaniemi (hadr-incl-V09-02-02)
---------------------------------------------------------
- Fix: Activated Geant4 random number generator instead of the built-in one.

18 November 2009 - Pekka Kaitaniemi (hadr-incl-V09-02-01)
---------------------------------------------------------
- Added safeguard division by zero (or negative) energy in ABLA
  fission fragment handling
- Minor fix in the INCL particle reflection time calculation

17 October 2009 - Pekka Kaitaniemi (hadr-incl-V09-02-00)
--------------------------------------------------------
- Bugfixes to INCL nuclear potential handling:
  The interpolation function produced discontinuous results. This was
  due to an array index off-by-one bug. This bugfix corrects the
  impact parameter distribution.
- Fixed several variable initialization issues in INCL.
- Fixed severalFORTRAN to C++ translation issues in INCL.

06 November 2008 - Pekka Kaitaniemi (hadr-incl-V09-01-05)
---------------------------------------------------------
- Fixed GCC 4.3.2 "src/G4Incl.cc:1712: warning: array subscript is above array
  bounds" problem. The problem occured because array size was used as an
  index.

06 November 2008 - Gabriele Cosmo (hadr-incl-V09-01-04)
-------------------------------------------------------
- Fix for compilation errors on Windows-VC++; include <time.h> in
  G4AblaFission and G4AblaFissionSimfis18 translation units to make them
  self-consistent.

24 October 2008 - Dennis Wright (hadr-incl-V09-01-03)
-----------------------------------------------------
- use GetNuclearMass() instead of GetAtomicMass() in G4AblaEvaporation.cc

12 September 2008 - Pekka Kaitaniemi (hadr-incl-V09-01-02)
------------------------------------
- Bug fixes in INCL cascade:
  o Fixed target nucleus initialization for targets with A >= 0.19 and
  A <= 28.
  o Fixed target nucleus radius calculation for targets 6 <= A < 19.
  o Fixed conditional statements to avoid uninitialized variables.
  o Several array index handling (off-by-one) bugs fixed.
  o Several possible double/integer datatype problems fixed.

25 June 2008 - Pekka Kaitaniemi (hadr-incl-V09-01-01)
------------------------------
- Portability fixes and code clean-up:
  o Removed all assert() calls.
  o Removed all isnan() and isinf() calls.
  o All math functions now use std:: namespace.
  o Silenced the fission models.

26 May 2008 - Pekka Kaitaniemi (hadr-incl-V09-01-00)
------------------------------
- Bug fixes:
  o Fixed serious data reading bug affecting the reading of data
  files: flalpha.dat, frldm.dat and vgsld.dat.
- Fission reorganization:
  o Two fission models are provided. By default GSI SimFis3 fission is
  used. Optional SimFis18 is provided.

22 April 2008 - Pekka Kaitaniemi
-----------------------------------
- INCL/ABLA changes:
  o Fix: Partial fix to the Alpha evaporation energies.
  o Fix: Neutron energies.
  o Fix: Moved remnant direction calculation block and added safeguards.
  o ABLA bugfix: switched the transformation matrix indices.

27 February 2008 - Pekka Kaitaniemi
-----------------------------------
- INCL/ABLA changes since Geant4 9.1:
  o Initialized variables to zero and improved coding style.
  o Variable "bet" needs to be part of G4Fiss.
  o Fixed a variable definition. Variable "homega" is part of "G4Fiss".
  o Fixed an index off-by-one bug in G4Abla.
  o Fix an infinite loop.
  o Move the stored event number to the class definition.
  o Added a possible (commented) fix for ABLA output off-by-one problem.
  o Cleaned up G4Abla::qrot comments.
- Changes to the test suite since Geant4 9.1:
  o Added more tests.
  o New test system.
  o Compare FORTRAN and C++ results.
  o Preliminary GUI for running plotting scripts.

04 December 2007 - Gabriele Cosmo (hadr-incl-V09-00-09)
---------------------------------
- Again commented out call to isnan() in G4Incl.cc for allow
  porting to platforms other than Linux....

03 December 2007 - Pekka Kaitaniemi
-----------------------------------
- Added bugfixes to INCL nucleon array handling. Several off-by-one
  bugs were fixed. These fixes help with INCL neutron energy spectra. 
- 4-momentum conservation problem was noticed to be mainly ABLA
  related. 
  o INCL alone violates energy conservation only by less than 20 MeV.
  o ABLA has problems with baryon number conservation. Some produced
  nucleons are not given back to INCL and Geant4. This is probably the
  main reason for 4-momentum conservation violations.
- Added 4-momentum and baryon number conservation checking code to the
  interfaces (behind flag DEBUGINCL).

15 November 2007 - Pekka Kaitaniemi
-----------------------------------
- First fix to secondary particle Pt, Px and Phi distributions.
  o Momentum x-component was transformed incorrectly from spherical to
  cartesian coordinates.

08 November 2007 - Pekka Kaitaniemi
-----------------------------------
- Started using G4UniformRand as a random number generator. 
  o It is much more sophisticated generator than the original INCL one
  was.  
  o This should eliminate infinite loop in test runs on 64-bit
  plattforms. The old generator probably was not 64-bit clean.

31 October 2007 - Gabriele Cosmo (hadr-incl-V09-00-05)
--------------------------------
- Again commented out calls to isnan() and isinf() in G4Abla.cc for allow
  porting to platforms other than Linux.

30 October 2007 - Pekka Kaitaniemi
----------------------------------
- Abla now runs. Integrated energy spectrums for protons and neutrons
  seem to be OK. Isotope production is still problematic. There seems
  to be too much fission.

24 October 2007 - Pekka Kaitaniemi (hadr-incl-V09-00-04)
----------------------------------
- Modified INCL to filter out unphysical events containing particles
  that have more energy than the energy of the projectile. This should
  fix problem we had with outcoming neutrons (and protons) that have
  more energy than the projectile particle.
- Added G4InclAblaDataFile class that reads data used by INCL/ABLA
  from datafiles located in $G4ABLADATA. If this environment variable
  is not correctly set INCL/ABLA returns G4Exception.
- Problematic hardcoded data has been removed.

16 October 2007 - Pekka Kaitaniemi
------------------------------------------------------
- Silenced the rather verbose output. Now nothing should be printed on
  terminal by default.
- Fixed INCL internal random number generator bug that sometimes
  (rarely) produced random numbers that were greater than 1.0.
- Random number seeds are now taken from CLHEP::HepRandom.
- Cleaned up some commented code.
- Found new NaN bugs in ABLA.

13 October 2007 - Pekka Kaitaniemi
------------------------------------------------------
- Interface cleanup. G4InclCascadeInterface and
  G4InclLightIonInterface  should be fully operational.
- INCL was reverted back to using simple random number generator for
  test result compatibility (to produce exactly same results as the
  FORTRAN version does).
- Fixes for ABLA evaporation/fission:
  o Fission barrier problem fixed. Now fission code is called during
    the run.
  o Several NaN bugs fixed.
  o Random seed initialization bug fixed.
  o Stand-alone INCL/ABLA program (test/standaloneinclabla) mostly
    works (produces results that are sometimes in good agreement with
    FORTRAN version and sometimes in not so good agreement). With
    heavy targets and lots of energy fission is overestimated.
  o INCL+ABLA interface not yet fully operational. G4 simulation run
    crashes. 

11 October 2007 - Gabriele Cosmo (hadr-incl-V09-00-01)
------------------------------------------------------
- Fixes for porting:
  o Commented out usage of isnan() and isinf() in assertions.
  o Replaced usage of M_PI with CLHEP::pi.
  o Use std namespace for standard mathematical functions.
  o Casted to double arguments used in std::pow() function.
  o Commented out initialisation of data in G4InclAblaHardcodedData.cc
    for Windows; temporary solution to allow for compilation, pending
    solution of loading of data from file !

23 May 2007 - Aatos Heikkinen (hadr-incl-V09-00-00)
---------------------------------------------------
- First version of the Liege cascade INCL Model.


