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

     ==========================================================
     Geant4 - an Object-Oriented Toolkit for Physics Simulation
     ==========================================================

            History file for hadronic/management directory
            ----------------------------------------------

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 August 2010  Vladimir Ivanchenko (hadr-man-V09-03-04)
------------------------------------------------
- G4HadronicProcess - use const GetParticleDefinition method of 
                      G4DynamicParticle
- G4HadronicProcessStore - remove const_cast 

29 July 2010  Vladimir Ivanchenko (hadr-man-V09-03-03)
------------------------------------------------
- G4HadronicProcess - added protection against negative cross section;
                      removed commented old code
- G4HadronicProcessStore - reduce number of const_cast 

01 June 2010  Gunter Folger (hadr-man-V09-03-02)
------------------------------------------------
-  restore #include for <typeinfo>

21 April 2010 Dennis Wright (hadr-man-V09-03-01)
------------------------------------------------
- create G4HadronicEPTestMessenger to make energy/momentum test 
  commands available in UI
- include G4HadronicEPTestMessenger in G4HadronicProcessStore

2 April 2010 Dennis Wright (hadr-man-V09-03-00)
-----------------------------------------------
- G4HadronicProcess: add methods CheckEnergyMomentumConservation,
  SetEpReportLevel, SetEnergyMomentumCheckLevels,
  GetEnergyMomentumCheckLevels, which implement energy/momentum 
  checking
- also includes Vladimir Ivantchenko's clean-up of unused code 

2 December 2009 Vladimir Ivanchenko (hadr-man-V09-02-05)
---------------------------------------------------------
- G4HadronicProcessStore - added protection to the Clean method 

25 February 2009 Vladimir Ivanchenko (hadr-man-V09-02-04)
---------------------------------------------------------
- G4HadronicProcessStore - added protection to the Clean method 

22 February 2009 Vladimir Ivanchenko (hadr-man-V09-02-03)
---------------------------------------------------------

14 February 2009 Vladimir Ivanchenko (hadr-man-V09-02-02)
---------------------------------------------------------
- G4HadronicProcessStore - added Clean method and cleanup of model 
                           and cross section stores

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

24 January 2009 Vladimir Ivanchenko (hadr-man-V09-02-00)
-------------------------------------------------------
- G4HadronicProcessStore - added destruction of processes

01 December 2008 Dennis Wright (hadr-man-V09-01-10)
---------------------------------------------------
- G4HadronicProcess - make MeanFreePath() public again.  In future 
  make it protected again, but make a public method which calls it.

21 November 2008 Dennis Wright (hadr-man-V09-01-09)
---------------------------------------------------
- G4HadronicProcess - remove again method SetDispatch for major release

22 October 2008 Vladimir Ivanchenko (hadr-man-V09-01-08)
------------------------------------------------------
- G4HadronicProcessStore - use G4HadronicProcessType enumerator
- G4HadronicProcess - returned back obsolete method SetDispatch for minor release

02 October 2008 Dennis Wright (hadr-man-V09-01-07)
--------------------------------------------------
- create new hadronic process subtype enum G4HadronicProcessType:
    enum G4HadronicProcessType
    {
      fHadronElastic =   111,
      fHadronInelastic = 121,
      fCapture =         131,
      fFission =         141,
      fHadronAtRest =    151,
      fChargeExchange =  161
    };

- G4HadronicProcess.hh - add enum to identify process subtypes

- G4HadronInelasticProcess.cc - change process sub-type from 12 to fHadronInelastic

04 August 2008 Vladimir Ivanchenko (hadr-man-V09-01-06)
------------------------------------------------------
- G4HadronicProcessStore - improve cout 
- G4HadronicProcess - cleanup: use method SampleZandA to select an isotope
                               do not use home-made NanCheck
                               do not check environment variables run-time
                               directly fill G4HadronicWhiteBoard
                               implement PostStepDoIt and DumpPhysicsTable
                               methods
- G4HadronInelasticProcess - use methods of the base class
                          
04 August 2008 Vladimir Ivanchenko (hadr-man-V09-01-05)
------------------------------------------------------
- G4HadronicProcessStore - use sub-types to access cross sections,
                           add proceses following only G4VProcess interface   

08 July 2008 Dennis Wright (hadr-man-V09-01-04)
-----------------------------------------------
- set process sub-type to 12 for G4HadronInelasticProcess

09 June 2008 Dennis Wright (hadr-man-V09-01-03)
-----------------------------------------------
- G4HadronicProcess.cc - turn off error in case of fStopButAlive, but leave 
  it in place for fStopAndKill, fKillTrackAndSecondaries and fPostponeToNextEvent

05 June 2008 Vladimir Ivanchenko (hadr-man-V09-01-02)
----------------------------------------------------
- G4HadronicProcessStore - comment out destructor

19 May 2008 Vladimir Ivanchenko (hadr-man-V09-01-01)
----------------------------------------------------
- G4HadronicProcessStore - new singleton to keep pointers to all
                      hadronic processes
- G4HadronicProcess - added PreparPhysicsTable and BuildPhysicsTable
                      methods, added registration in G4HadronicProcessStore


19 May 2008 Vladimir Ivanchenko (hadr-man-V09-01-00)
----------------------------------------------------
- G4HadronicProcess - cleanup of the header (add comments, move
                      methods for isotope production to the src, make
                      GetMeanFreePath protected, remove duplication
                      of PostStepDoIt), add default implementation of 
                      GetMicroscopicCrossSection, comment out check
                      IfApplicable in MeanFreePath

15 October 2007 Dennis Wright (hadr-man-V09-00-00)
--------------------------------------------------
- G4HadronicProcess::FillTotalResult: T. Koi's fix of bug #967 - replaced
aT.GetGlobalTime() with the variable time at line #664.

15 June 2007 Gabriele Cosmo (hadr-man-V08-03-03)
------------------------------------------------
- G4HadronicProcess: fixed memory leak with deletion of 'theIsoResult' and
  'theCrossSectionDataStore' in destructor.

12 June 2007 Dennis Wright (hadr-man-V08-03-02)
-----------------------------------------------
- G4HadronicProcess::FillTotalResult: use different G4DynamicParticle constructor
  and do not allow kinetic energy to be exactly 0.  This partly removes a spurious
  peak at 90 degrees

01 June 2007 Dennis Wright (hadr-man-V08-03-01)
-----------------------------------------------
- G4HadronicProcess.cc : change default for isotope production to off
       this fixes a memory leak.

30 Apr 2007 Dennis Wright (hadr-man-V08-03-00)
----------------------------------------------
- G4HadronicProcess.cc
       remove effective charge calculation
       remove unused variable newWeight

23 Apr 2007 Dennis Wright (hadr-man-V08-02-03)
----------------------------------------------
- G4HadronicProcess.hh
       remove AlwaysKillLeadingHadron method
- G4HadronicProcess.cc
       use Alex Howard's fix of weighting error in leading particle killer 

10 Apr 2007 Dennis Wright (hadr-man-V08-02-02)
----------------------------------------------
- G4HadronicInteractionWrapper.hh, .cc
       add process and model name arguments to ApplyInteraction method
       and enter them into whiteboard

- G4HadronicProcess.cc
        add process and model name arguments to ApplyInteraction method


2 Mar 2007 Dennis Wright (hadr-man-V08-02-01)
---------------------------------------------
- G4HadronicProcess.cc: put in Vladimir Ivantchenko's fix to 
       stop killing primaries for elastic
 
26 Dec 2006 Dennis Wright (hadr-man-V08-02-00)
----------------------------------------------
- G4HadronicProcess.hh, .cc:
       Add handling of user-defined isotopes: re-implement methods 
         GetMeanFreePath() and ChooseAandZ() to use new methods in 
         G4CrossSectionDataStore.  
       No longer use dispatch pointer to call data store methods.
       Data members currentZ, currentN and methods GetCurrentZ(), 
         GetCurrentN() removed as no longer needed

20 Oct 2006 Dennis Wright (hadr-man-V08-01-00)
----------------------------------------------
- G4HadronicProcess.hh, .cc:
       remove unused method GetDistanceToBoundary()

13 Mar 2006 Dennis Wright (hadr-man-V08-00-03)
----------------------------------------------
- G4HadronicProcess::ChooseAandZ() : throw fatal exception if
       Z > 92 is chosen

- G4HadronicProcess::GeneralPostStepDoIt() : for suspended tracks, allow 
       PostStep action to occur at end of step, but maintain suspended 
       track status.  Remove warning for suspended tracks.


17 Jan 2006 Dennis Wright (hadr-man-V08-00-02)
----------------------------------------------
- G4HadronicProcess.cc: add comments

12 Jan 2006 Dennis Wright for Mikhail Kossov (hadr-man-V08-00-01)
-----------------------------------------------------------------
- G4EnergyRangeManager.cc: in method GetHadronicInteraction, case 2,
                         print out some diagnostic information for
                         exception of two fully overlapping models.

16 Dec 2005 Dennis Wright for Mikhail Kossov (hadr-man-V08-00-00)
-----------------------------------------------------------------
- G4HadronicProcess.hh:  in method ChooseHadronicInteraction, check
                         G4HadronicInteractionCounter for error - if 
                         so print out

- G4EnergyRangeManager.hh: make method GetHadronicInteractionCounter public 
- G4EnergyRangeManager.cc: in method GetHadronicInteraction, case 0, print out 
                           diagnostic information for exception when no model
                           is found.
                         
15 Dec 2005 Dennis Wright
-------------------------
- G4HadronicProcess.cc: 
       fixed bug # 611 - problems caused when hadronic interactions
       reset stopButAlive particle to Alive
       solution: In method FillTotalResult add lines

       } else if (aT.GetKineticEnergy() == 0) {
         theTotalResult->ProposeTrackStatus(fStopButAlive);
       }


18 Nov 2005 Dennis Wright (hadr-man-V07-01-00)
----------------------------------------------

- G4HadronicProcess.cc: <sstream> migration 
