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

     ==========================================================
     Geant4 - an Object-Oriented Toolkit for Physics Simulation
     ==========================================================
$Id: History,v 1.37 2010/11/17 20:19:09 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)
   ---------------------------------------------------------------

17 November 2010 - Pekka Kaitaniemi (hadr-incl-V09-03-10)
---------------------------------------------------------
- Fixed several issues reported by Coverity:
  o Fix: Fragment vector and Fermi break-up related emory leaks in
  INCL/ABLA interfaces
  o Initialize INCL internal variables properly
  o Check array boundaries in datafile reader

16 November 2010 - Gabriele Cosmo (hadr-incl-V09-03-09)
-------------------------------------------------------
- More minor fixes from Coverity reports...

12 November 2010 - Pekka Kaitaniemi (hadr-incl-V09-03-08)
---------------------------------------------------------
- Fixed several minor variable initialization issues reported by Coverity

11 November 2010 - Pekka Kaitaniemi (hadr-incl-V09-03-07)
---------------------------------------------------------
- Fixed some minor variable initialization issues reported by Coverity
- Updated interfaces:
  o INCL + built-in ABLA de-excitation: G4InclAblaCascadeInterface and
  G4InclAblaLightIonInterface
  o INCL + PreCompound model: G4InclCascadeInterface and
  G4InclLightIonInterface

03 November 2010 - Pekka Kaitaniemi (hadr-incl-V09-03-06)
---------------------------------------------------------
- Fixed insufficient array index safeguard in ABLA
- Silenced debugging output printed by G4InclAblaCascadeInterface

29 October 2010 - Gunter Folger (hadr-incl-V09-03-05)
-----------------------------------------------------
- Fixed several more compilation warnings for conversion of double to int
   in  G4Incl.cc, G4InclAblaCascadeInterface.cc, and G4InclAblaLightIonInterface.cc.

28 October 2010 - Gabriele Cosmo (hadr-incl-V09-03-04)
-----------------------------------------------------
- Fixed compilation warning in G4InclDataDefs.hh for conversion of double
  to integer in initialization.

25 October 2010 - Pekka Kaitaniemi (hadr-incl-V09-03-03)
--------------------------------------------------------
- Refactored INCL input data structure to its own class G4InclInput
  o Made data members private
  o Access to input data only through accessor methods
  o INCL now uses integer A and Z internally as well as in the interface

14 September 2010 - Pekka Kaitaniemi (hadr-incl-V09-03-02)
----------------------------------------------------------
- Migrated to integer A and Z when using G4Nucleus
- Bugfixes:
  o Make sure we use Geant4 random number generators everywhere
  o Silenced some unnecessary warnings
  o Make sure we use INCL for all light ion projectiles up to Carbon-12

16 August 2010 - Pekka Kaitaniemi
---------------------------------
- Moved the INCL input initialization to the INCL input class
- Implemented inverse-kinematics treatment for ion-hydrogen collisions

01 June 2010 - Pekka Kaitaniemi
-------------------------------
- Improved the Fermi break-up configuration

26 February 2010 - Pekka Kaitaniemi
-----------------------------------
- Merged INCL light ion projectile support to the integration branch
  o Support infrastructure for light ions up to Carbon
  o Use Geant4 Fermi break-up for projectile spectators and light cascade
  remnants

14 June 2010 - Gabriele Cosmo (hadr-incl-V09-03-01)
------------------------------------------------------
- Added missing virtual destructor to G4AblaFissionBase,
  G4InclAblaVirtualData and G4InclRandomNumbers.

27 April 2010 - Pekka Kaitaniemi (hadr-incl-V09-03-00)
------------------------------------------------------
- Fix: Nuclear deformation and shell effect data reader now constructs
  the corresponding data tables correctly.
- Added some internal logging facilities to INCL (disabled by default)

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

10 October 2008 - Pekka Kaitaniemi
------------------------------------
- Added ability to use Geant4 Fermi break-up
  for light cascade remnants

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.


