$Id: History,v 1.120 2010/11/10 08:42:47 kurasige Exp $
-------------------------------------------------------------------

     =========================================================
     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
     =========================================================

                      Category History file
                      ---------------------
This file should be used by G4 developers and category coordinators
to briefly summarize all major modifications introduced in the code
and keep track of all category-tags.
It DOES NOT substitute the  CVS log-message one should put at every
committal in the CVS repository !

     ----------------------------------------------------------
     * Reverse chronological order (last date on top), please *
     ----------------------------------------------------------

Nov. 10, 2010, H.Kurashige (track-V09-03-11)
- Remove  GetSecondaryInCurrentStep method in G4Step.
  (revert chages in track-V09-03-07)

Nov. 08, 2010, M.Asai (track-V09-03-10)
- Adding touchable history of the origin to G4Track.

Oct. 30, 2010, H.Kurashige (track-V09-03-09)
- Fix minor bugs reported by Coverity 

Oct. 27, 2010, G.Cosmo (track-V09-03-08)
- Restored DLL setup as originally. Withdrawn changes in last tag.

Oct. 19, 2010  G.Cosmo (track-V09-03-07)
- Replaced G4TRACK_ALLOC_EXPORT flag with G4ALLOC_EXPORT for DLL exported
  symbols.

Oct. 18, 2010  Hisaya Kurashige (track-V09-03-06)
- Add  GetSecondaryInCurrentStep method in G4Step.
  It gives secondaries in the current step.

Oct. 6, 2010  Hisaya Kurashige (track-V09-03-05)
- G4Step::GetSecondary() gives back const G4TrackVector*
  and G4Step::GetfSecondary() gives back non-const pointer
 
Sep 21, 2010  Hisaya Kurashige (track-V09-03-04)
- Fill the last bin contents in G4Track::PrepareVelocityTable() 
   to fix the bug in calculation of GetVelocity

Aug 12, 2010 Hisaya Kurashige (track-V09-03-03)
- Add G4Track::GetParticleDefinition giving 'const' pointer

July 21, 2010 Gabriele Cosmo (track-V09-03-02)
- Added protection against possible null pointer in G4Track::GetVelocity().
- Removed extra inclusion of G4Step.hh in G4Track header.
- Fixed cases of restoring cout/cerr precision formatting in classes:
  G4ParticleChange, G4ParticleChangeForDecay, G4ParticleChangeForGamma,
  G4ParticleChangeForLoss, G4ParticleChangeForMSC, G4ParticleChangeForTransport,
  G4VParticleChange.
- Added dummy initialisation to data members in constructors in classes:
  G4ParticleChange, G4ParticleChangeForDecay, G4ParticleChangeForGamma,
  G4ParticleChangeForLoss, G4ParticleChangeForTransport, G4Step, G4StepPoint,
  G4Track, G4VParticleChange.

July 2, 2010 Hisaya Kurashige (track-V09-03-01)
- Use PhysicsVector for calculation of GetVelocity
- Add Exception(Warning) if GetDeltaEnergy/Momentum methods are invoked. These methds are planed to be removed 

Mar. 9, 2010 Hisaya Kurashige (track-V09-03-00)
- Change G4String to a pointer of G4String 
  for prooperty to indicate type of UserTrackInformation 
- Change G4VUserTrackInformation::Print() to a simple virtual method
  form pure-virtual 

Oct. 19, 2009 Hisaya Kurashige (track-V09-02-04)
-added a string prooperty to indicate type of UserTrackInformation


Jun. 18, 2009 Hisaya Kurashige (track-V09-02-03)
-added SetLowEnergyLimit method (Vladimir)


May.  27, 2009 Hisaya Kurashige (track-V09-02-02)
- Add lowEnergyLimit = 1 eV in lowEnergyLimit = 1 eV (Vladimir)

Apr.  2, 2009 Hisaya Kurashige (track-V09-02-01)
- Add protection for the case mass==0 and T==0 in GetVelocity

Apr.  2, 2009 Hisaya Kurashige (track-V09-02-00)
- Modify GetVelocity to improve performance 

Oct. 24, 2008 Hisaya Kurashige (track-V09-01-02)
- change fpCreatorProcess and fpLCAtVertex in G4Track to  'const' pointer   
- change fpProcessDefinedStep in G4StepPoint to  'const' pointer   

 
Feb. 5, 2008 Hisaya Kurashige (track-V09-01-01)
- reset non-ionizing energy loss in G4Step::ResetTotalEnergyDeposit
  in order to initialize NIEL in each step

Jan. 12, 2008 Hisaya Kurashige (track-V09-01-00)
- add non-ionizing energy loss to EM physics (V.Ivanchenko)

Oct. 02, 2007 Hisaya Kurashige (track-V09-00-02)
- Add protection in G4Track::GetVolume to avoid core dump

Aug. 07, 2007 Hisaya Kurashige (track-V09-00-01)
- Add  get method for non-ionizing energy deposit in G4Step


Mar. 30, 07 Hisaya Kurashige (track-V08-02-02)
- Fix weight treatment in G4ParticleChange

Mar. 26, 07 Hisaya Kurashige (track-V08-02-01)
- Added Non-Ionizing Energy Deposit in G4Step and G4VParticleChange

Mar. 11, 07 Hisaya Kurashige (track-V08-02-00)
- Added magnetic moment in G4DynamicParticle (co-work with particles-V08-02-00)
- Fixed treatment of parent's weight in G4ParticleChange 

Nov.  3, 06 J.Apostolakis (track-V08-01-04)
- New methods first/lastStepInVolume flag in G4Step, G4VParticleChange  by Hisaya
- Revised UpdateStepForPostStep by John Apostolakis

Oct. 31, 06 G.Cosmo (track-V08-01-03)
- Made operator=() inline.

Aug. 29, 06 H.Kurashige (track-V08-01-02)
- Add methods for setting polarization and modifying weight
    for G4ParticleChangeFoeGamma and  G4ParticleChangeForLoss 
          (V.Ivanchenko)

Jul. 17, 06 M.Asai (track-V08-01-01)
- Re-tagged for G4Step and G4TrackVector only.

Jun. 09, 06 M.Asai (track-V08-01-00)
- tagged for G4FieldTrackUpdator, G4Step and G4TrackVector.

Jun. 09, 06 T.Sasaki
- G4Step now has secondary vector
- G4TrackVector was moved from tracking category 

Jun. 09, 06 M.Asai
- Introducing G4FieldTrackUpdator class.
- GNUmakefile now includes geometry/magneticfield

Jun. 07, 06 V.Ivanchenko (track-V08-00-03)
-  G4ParticleChangeForLoss - remove momentum change AlongStep

Mar. 29, 06 H.Kurashige (track-V08-00-02)
-  Improve G4Track::GetVelocity for optical photon 

Feb. 08, 06 H.Kurashige (track-V08-00-01)
-  add ProposeMomentumDirection AlongStep and ProposeWeight PostStep in 
    G4ParticleChangeForLoss (V.Ivantchenko)

Dec. 20, 05 .Kurashige (track-V08-00-00)
-  G4ParticleChangeForRadDecay is now derived from G4ParticleChangeForDecay

Dec. 05, 05 mma (track-V07-01-02)
- G4ParticleChangeForGamma : apply UpdateStepForPostStep in any case
  
Nov. 26, 05 H.Kurashige (track-V07-01-01)
- Fix GetVelocity : use the material pointer in PreStepPoint

May 30, 05 V.Ivantchenko (track-V07-00-02)
- Fix in G4ParticleChangeForGamma : add UpdateStepForAtRest method

May 12, 05 P.Gumplinger (track-V07-00-01)
- Fix GetVelocity (bug report #741) courtesy of  Horton-Smith

Apr. 15, 05 V.Ivantchenko (track-V07-00-00)
- Add a new class of G4ParticleChangeForGamma
- Modify 4ParticleChangeForLoss
 
Dec. 02, 04 H.Kurashige (track-V06-02-04)
- migration to cmath 

Nov. 25, 04 M.Asai (track-V06-02-03)
- Fix destructor of G4VUserTrackInformation.

Oct. 19, 04 H.Kurashige (track-V06-02-02) 
- Remove obsolete methods from G4ParticleChange

Sep. 17, 04 P.Gumplinger (track-V06-02-01)
- Modified G4ParticleChangeForDecay (add thePolarizationChange and methods)

Aug. 27, 04 M.Asai (track-V06-02-00)
- A pointer to sensitive detector is added in G4StepPoint and
  G4ParticleChangeForTransport.
- G4Step is taking care of setting the above pointer.

Jun. 15, 04 V.Ivanchenko (track-V06-01-05)
- G4ParticleChangeForLoss: fix initialization of ParentWeight

Jun. 11, 04 G.Cosmo (track-V06-01-04)
- Use global flag G4TRACK_ALLOC_EXPORT to export extern symbols for DLLs.
  Modified GNUmakefile and rearranged usage of extern symbols in G4Track.

Jun. 09, 04 G.Cosmo (track-V06-01-03)
- Adopt G4DLLIMPORT/G4DLLEXPORT technique to handle extern simbols for
  allowing support of DLLs on Windows.
- Coworks with "global-V06-01-02b".

Jun. 07, 04 G.Cosmo (track-V06-01-02)
- Export extern symbols for allowing support of DLLs on Windows.
  Modified G4Track.icc.
- GNUmakefile: added definition of GLOBLIBS for DLLs support on Windows.
- Coworks with "global-V06-01-02a".

May. 11, 04 V.Ivanchenko (track-V06-01-01)
- G4ParticleChangeForLoss: rename variables according to 00 tag;
  fix of minor energy non-conservation in case of more than 1
  processes changing the energy

May. 08, 04 H.Kurashige (track-V06-01-00)
- Add new methods of ProposeXXX (and corresponding GetXXX methods) 
  as replacements of old methods of SetXXXChange and GetXXXChange

Jan. 20, 04 V.Ivanchenko (track-V06-00-01)
- Update G4ParticleChangeForLoss for utilisation in G4VEnergyLossProcess
- Minor update G4ParticleChangeForMSC for utilisation in model design of msc
- Change of volume in G4ParticleChangeForTransportation only if kinEnergy>0

Dec. 12, 03 G.Cosmo (track-V06-00-00)
- G4VParticleChange[.hh.cc]: removed unnecessary 'const' qualifier to
  return value in GetAccuracyForWarning() and GetAccuracyForException()
  causing noisy warnings on Intel-icc compiler.

Nov. 26, 03 H.Kurashige (track-V05-02-03)
- Fixed problem of setting  momentum direction for stoppped particle in G4ParticleChange (Vladimir) 

Oct. 4, 03 G.Cosmo (track-V05-02-02)
- Modified GNUmakefile:
  o added dependency to new module "geometry/navigation".
- Coworks with "geometry-V05-02-00" and "digits_hits-V05-02-00".

Jun. 11, 03 H.Kurashige (track-V05-02-01)
- Add ExceptionSeverity 
- Add G4VParticleChange::CheckSecondary
- Remove inclusion of G4MaterialCutsCouple

Jun. 03, 03  G.Cosmo (track-V05-01-03)
- Fixed warning in G4ParticleChangeForRadDecay.hh.

Mar. 20, 03  M.Asai (track-V05-01-02)
- Fix copy operator of G4Track not to copy the pointer to user information

Mar. 20, 03  H.Kurashige  (track-V05-01-01)
- Correct comments 
- Fixed unused parameter in G4VParticleChange.cc

Mar. 5, 02  H.Kurashige  (track-V05-00-02)
- Fix in G4Step::InitializeStep().
  Added initialization of fCharge in StepPoint.

Jan. 24, 02  G.Cosmo  (track-V05-00-01)
- Fix in G4ParticleChangeForTransport::UpdateStepForPostStep().
  Added call for setting the material-cuts-couple for pPostStepPoint
  (V.Ivantchenko).

Dec. 16, 02  G.Cosmo  (track-V05-00-00)
- Merged branch "geant4-04-01-ref-02-cuts-branch" to HEAD.
  Included development for 'cuts-by-region':
  o Updated G4Track, G4Step, G4StepPoint and G4ParticleChangeForTransport
    to properly handle new G4MaterialCutsCouple.

Dec. 04, 02  T.Sasaki (track-V04-01-03)
- Initial value for fCharge is given in the constuctor 
  of G4StepPoint.

Nov. 20, 02   G.Cosmo (track-V04-01-02)
- Patched access to public static data in G4VParticleChange.
  Added accessors to be used in the kernel to allow porting on
  Windows DLLs.

Nov. 1, 02    J.Generowicz (track-V04-01-01)
- Added accessors to auxiliary point vector, in both
  G4Step and G4ParticleChangeForTransport

Oct. 31, 02    T.Sasaki (track-V04-01-00)  
- Added StronglyForced flag to G4ForceCondition
- set fUndefined for the StepStatus in PostStepPoint after CopyPostToPre

Feb. 09 ,02    H.Kurashige (track-V04-00-02)
- Modify G4Track::GetVelocity to get better performance for massless particles

Dec. 24 ,01   H.Kurashige (track-V04-00-01)
- Remove event biasing mechanism from track category
  ( it is moved to hadronic/models )
- Add G4Track::CopyTrackInfo 
- Modified G4ParticleChange::AddSecondary to use touchable handle 
- Fixed a bug of changing parent weight in G4ParticleChange::UpdateStepForAlongStep

Dec. 12, 01  H.Kurashige (track-V04-00-00)
- Added initialization of fStepLength in constructors.
- Fixed a bug that fStepLength is not copied in assginment operator 
 
Dec. 10, 01  H.Kurashige (track-V03-02-08)
- Modified assignment operator so that fCurrentStepNumber is set to 0

Nov.27, 01  J. Apostolakis (track-V03-02-07)  for H. Kurashige
- Modified G4ParticleChange::AddSecondary to use touchable handle - by Hisaya
   (only one of the AddSecondary methods has been modified - to date)

Nov.10, 01 (track-V03-02-06)
- Fixed bugs in assignment operators in G4Track
- Added SetParentWeightByProcess
- Added SetSecondaryWeightByProcess

Nov. 08, 01  G.Cosmo (track-V03-02-05)
- Merge changes included in "track-V03-02-02a".

Oct. 22, 01  H.Kurashige (track-V03-02-04)
- Modify to intorduce TouchableHandle (Radovan)

Oct. 20, 01  H.Kurashige (track-V03-02-03)
- Remove "static inline methods"
- Disable EventBiasingMechanism 

Oct. 26, 01  G.Cosmo (track-V03-02-02a)
- Added implementation to assignment operator in G4ParticleChangeForRadDecay.hh
  (H.Kurasige)

Sep. 20, 01  H.Kurashige (track-V03-02-02)
- Update to  G4Mars5GeVMechanism for STL migration of materials

Sep. 20, 01  H.Kurashige (track-V03-02-01)
- Modify  G4Mars5GeVMechanism for STL migration of materials

Aug. 16, 01  H.Kurashige (track-V03-02-00)
- Clean up codes
 
Mar. 7, 01  H.Kurashige (track-V03-00-04) 
- Add protection for the zero-momentum case 
  for UpdateStepForAlongStep in ParticleChange  (J.A)

Feb. 17, 01  H.Kurashige (track-V03-00-03)
- Add Velocity and Setmethod in G4StepPoint
- Add SetVelocity in G4Step.::InitializeStep
- Modify G4StepPoint::GetVelocity to return correct velocity for optical photon

Feb. 17, 01  H.Kurashige (track-V03-00-02)
- Fix G4Track::GetVelocity for Gamma

Feb. 12, 01 H.Kurashige (track-V03-00-01)
- Remove thePolarizationChange from G4ParticleChangeForTransport.hh


Feb. 07, 01 H.Kurashige (track-V03-00-00)
- Add copy constructor to G4Track 

Oct. 19, 00 H.kurashige (track-V02-00-01)
- Bug fixes in copy constructor of G4ParticleChange

Oct. 18, 00 H.Kurashige (track-V02-00-00)
- Add "const" to G4DynamicParticle pointer  of returned value of G4Track::GetDynamicParticle 

Jun. 2, 2000 M.Asai  (track-V01-01-02)
- Add G4VUserTrackInformation class and its pointer data member in G4Track
- Add "const" to pointer to G4Step in G4Track (Hisaya) 

Jun. 1 2000 H.Kurashige (track-V01-01-01a)
-  Removed "const" from the return value type of G4StepPoint::GetPhysicalVolume()

May 16 2000 H.Kurashige (track-V01-01-01)
-  Added thePolarizationChange in G4ParticleChangeForTransportation

May 12 2000 H.Kurashige (track-V01-01-00)
-  SetTouchable methods has been changed to get "const" pointer

Feb. 16, 2000 H.Kurashige
-  Added cashing mechanism of pointer to material in G4StepPoint
-  Added theMaterialChange in G4ParticleChangeForTransportation
-  GetTouchable methods has been changed to give "const" pointer 

Feb. 13, 2000 H.Kurashige (track-V01-00-01)
-  Added G4ParticleChangeForRadDecay
-  Changed G4VParticleChange::AddSecondary to set secondary track weight equal to the primary's one
-  Removed printing pointers of ParticleChange object in CheckIt methods 

Jan. 18, 2000 H.Kurashige (track-V01-00-00)
-  Fixed bugs in treatment of secondary track weight 

Nov. 7, 1999 H.Kurashige (track-V00-01-01)
-  Added comments for "Software Reference Manual" 

Oct. 5, 1999 H,Kurashige (track-V00-01-00)
-  Added mass/charge change in G4ParticleChange
-  Modified G4ParticleChange::CheckIt
-  Separate implementation of inline functions to G4Track.icc and G4Step.icc

Jul. 14 1999 H.Kurashige (track-01-00-07)
-  Fixed bugs in G4Mars5GeVMechanism::CreatePion()

May 6, 1999 H.Kurashige (track-01-00-06)
-  Modified CheckIt methods of G4VParticleChange and derived classes 

Apr. 28, 1999 H.Kurashige (track-01-00-05b)
-  Protect proton mass against glanular libraly for G4Mars5Gev...(Makoto)
-  Fixed error messages in G4ParticleChange::CheckIt (Hisaya)
-  Remove "include/G4VProcess.hh" from G4Step.cc (Hisaya)

Apr. 13, 1999 H.Kurashige (track-01-00-04)
- Code polishing according to the messages by CodeWizard 
- Added new virtual method of G4bool CheckIt(const G4Track&) in G4VParticleChange

Feb. 17, 1999 H.Kurashige (track-01-00-03)
-  Removed G4Step::ShowStep() (Takashi)
-  Fixed bugs in G4ParticleChange.icc (Hisaya)

Feb. 9, 1999 H.Kurashige (track-01-00-02)
-  Modified G4TrackFastVector (Hisaya)
-  Modified G4ParticleChange::CheckIt (Hisaya)

Feb. 6, 1999 H.Kurashige (track-01-00-01)
-  Added Get/SetMomentumDirectionChange in G4ParticleChange (Hisaya)
-  Removed using G4ParticleMomentum (Hisaya)

Dec. 15,  1998 H.Kurashige (track-00-04-05)
- G4ParticleChange::CheckIt is activated in VERBOSE mode (Hisaya) 

Dec. 12, 1998 H.Kurashige (track-00-04-04)
- Fixed bugs in G4Mars5GeVMechanism (Hisaya) 
- Added SwOnAllEB/SwOffAllEB in G4ParticleChange (Hisaya)
- Added GetEBMechanis and IsEBActive in G4VParticleChange (Hisaya)

Dec. 11, 1998 H.Kurashige (track-00-04-03)
- Fixed bugs in G4Mars5GeVMechanism (Hisaya)

Dec. 9, 1998 L.Urban (track-00-04-02)
- Added G4ParticleChangeForLoss and G4ParticleChangeForMSC.

Nov. 18, 98 H.Kurashige (track-00-04-01)A
- Added new member of weight in G4Track and removed G4BiasingTag
- Added Event Biasing based on MARS
- Modified argument type in G4Track  
  ( this tag requires particles-00-04-01 tag)

Nov. 9, 98  H.Kurashige (track-00-03-05)
- Added Event Biasing Mechanism in G4VParticleChange

Nov. 8, 98 H.Kurashige (track-00-03-04)
- Added G4BiasingTag as a member of G4Track
- Modified G4Step, and G4StepPoint for managing  G4BiasingTag 

Oct. 17, 98 H.Kurashige (track-00-03-03)
- Fixed bugs in G4VParticleChange and G4ParticleChange

Oct. 14 19 H.Kurashige (track-00-03-01)
- Modified G4ParticleChangeForTransportation for new relocation algorism.
  (J.Apost.)

Aug. 31, 98 G.Cosmo (track-00-02-01)
- Added "global" phony target to GNUmakefile.
- Added comment to G4StepPoint.hh (J.Apostolakis).

Jul. 20,98 H.Kurashige (track-00-01-05)
- Modified G4ParticleChangeForDecay 

Jul. 10, 98 P.Urban (track-00-01-02)
- Optimised G4ParticleChangeForTransport. Much less data
  is copied -> increased performance.

Jul. 1, 98 H.Kurashige (track-00-07-02)
- Moved UpdateStepForAlongStep into G4ParticleChangeForTransport.cc file 
  
Jun. 30, 98 P. Urban (track-00-07-01)
- Some more tracking optimisation results.

Jun. 22, 98 P. Urban (track-00-06-04)
- Preliminary results of tracking optimisation merged into HEAD.

Jun. 11, 98 G.Cosmo (track-00-06-03)
- Tagged track-00-06-03.

Jun. 11, 98  J.Allison
- Added a missing inline keyword to G4Track.hh:341.

Jun. 8, 98  H.Kurashige
- Add GoodForTracking and BelowThreshold flags in G4Track
  for new COHERENT scheme for the Cuts

May 12, 98 H.Kurashige
- Fix bugs in G4Step, G4ParticleChange
  Add new class of G4ParticleChangeForTransport

Apr. 12, 98 H.Kurashige
- Implement new scheme of 'Particle Change'. Please see 
  particle_change.asc in geant4alpha/documents/particles+matter/.
- Following files are modified (or added)
    G4ParticleChange.hh, .icc, .cc
    G4VParticleChange.hh, .icc, .cc
    G4ParticleChangeForDecay.hh, .cc
    G4Step.hh,  G4TrackFastVector.hh

Apr. 9, 98 G.Cosmo
- Porting on DEC-cxx 6.0.
  Removed meaningless usage of "const" qualifier from functions
  return type for basic types by value. Modified files:
  G4ParticleChange.hh, .icc,
  G4Step.hh, G4StepPoint.hh, G4Track.hh

Mar. 18, 1998 K.Amako
- Add following information to G4Track:
     1.Momentum direction at the start point (vertex position) of the track
     2.Kinetic energy at the start point (vertex position) of the track
     3.Pointer to the process which created the current track
- Due to this, the following files have modififed and committed.
     1.NewDesignDoc.txt
     2.G4Track.hh, G4Track.cc
     3.G4SteppingManager.cc

Jan.  29, 97 K. Amako
- Following changes have been done and committed/tagged to cvs.
  Tag# is track-00-03-01. 
    - G4Step.cc: Output format has been changed in showStep().
  
Dec. 19, 97 G. Cosmo - (alpha03)

- Created.
