$Id: History,v 1.125 2008/10/02 01:08:23 tsasaki Exp $
$Name: geant4-09-02-cand-01 $ 
-------------------------------------------------------------------

     =========================================================
     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 *
     ----------------------------------------------------------
02 Oct 2008  T.Sasaki (tracking-V09-01-03)
- G4SteppingManager2.cc: PhyscalStep etc was not updated when 
  any flaga for ForceCondition is set. (since begining of Geant4)

25 Sep 2008  T.Sasaki (tracking-V09-01-02)
- G4SteppingManager2.cc: Bug fix for the previous tag

24 Sep 2008  T.Sasaki (tracking-V09-01-01)
- G4SteppingManager2.cc: Bug fix for PhysicalStep

06 May 2008  T.Sasaki (tracking-V09-01-00)
- G4SteppingManager.cc: fTouchableHandle was not properly updated 

08 Oct 2007 T.Sasaki (tracking-V09-00-01)
- G4SteppingManager.hh: use kCarTolerance in CalculateSafety() instead of zero

04 Oct 2007 T.Sasaki (tracking-V09-00-00)
- G4SteppingManager: fix to use kCarTolerance in Stepping() for the
  computation of 'endPointSafety'.

9th May 2007 M.Asai (tracking-V08-03-00)
- Allowing regional user stepping action.

13 November 2006 T.Sasaki (tracking-V08-01-06)
- Removed G4VSteppingVerbose::TrackBanner()  and add new methed
  G4TrackingManager::TrackBanner() for the fix. 

04 November 2006 M.Asai
- Added new method G4VSteppingVerbose::TrackBanner() and moved the
  hard-coded verbosity in G4TrackingManager to this method. Also
  modified G4SteppingManager to invoke this new method.

3rd November 2006 J.Allison (tracking-V08-01-05)
- Augmented /tracking/storeTrajectory.  Now takes integer parameter:
    0 : Don't Store trajectories.
    !=0 : Store trajectories.
    1 : Choose G4Trajectory as default.
    2 : Choose G4SmoothTrajectory as default.
    3 : Choose G4RichTrajectory as default.

16 October 2006 J.Allison
- All trajectories:
  o Protect points container pointer in destructor.
  o Make G4AttDef descriptions more concise.
- G4RichTrajectory:
  o Bug fix: Create G4AttValues for user-defined creator process.
- G4VTrajectory: Improved ShowTrajectory.

27 September 2006 M.Asai (tracking-V08-01-04)
- Fix in G4SteppingManager for the treatment of trajectory update
- According fixes in the trajectory classes.

14 August 2006 M.Asai (tracking-V08-01-03)
- Fix "double-deletion" in the destructor of G4SteppingManager.

13 July 2006 T.sasaki (tracking-V08-01-02)
- Fix on G4StepingVerbose for ForceConditions

09 June 2006 T. Sasaki
- Secondary vector is now owned by G4Step and G4TrackVector class has 
  been moved in the track category

15 June 2006 G. Cosmo (tracking-V08-00-04)
- Fixed implementation of static methods in G4VSteppingVerbose to be
  NOT inline. Required also to allow DLL working on Windows !

02 June 2006 G. Cosmo (tracking-V08-00-03)
- Restored original CVS headers to files...

30 May 2006 G. Cosmo (tracking-V08-00-02)
- Fixed online implementation of SetSilent() and SetSilentStepInfo()
  in G4VSteppingVerbose.

24 May 2006 T. Sasaki (tracking-V08-00-01)
- New flags are introduced in G4VSteppingVerbose to give more control
24 May 2006 T. Sasaki
- a bug fix for StepStatus when the track is outside of WorldBoundary 
- New header was inserted to all of the files to check the last update 
09 March 2006 T. Sasaki
- Added Silent and SilentStepInfo member to G4VStepverbose

24 November 2005 J. Allison (tracking-V07-01-05)
- Added G4RichTrajectory and G4RichTrajectoryPoint.
- Updated comments in G4VTrajectory.hh and G4VTrajectoryPoint.hh
22 November 2005 M. Asai (tracking-V07-01-04)
- Put G4Exception to the constructors of G4UsertrackingAction and G4UserSteppingAction
  to protect against their instantiation before G4VUserPhysicsList is instantiated and set to
  G4RunManager.
21 November 2005 M. Asai (tracking-V07-01-03)
- Migration to sstream.

14 November 2005 Jane Tinslay (tracking-V07-01-02)
- Modifications to G4VTrajectory::DrawTrajectory for enhanced
  trajectory drawing. 

21 September 2005 T. Sasaki(tracking-V07-01-01)
- fix for fastsimulation problem in G4SteppingManager2.cc
19 July 2005 T. Sasaki (tracking-V07-01-00)
- fix for the bug in InvokeAlongStepDoItProcs()
3rd May 2005  John Allison  (tracking-V07-00-01 - needs greps-V07-00-04)
- Corrected AttDefs.
- Made use of G4AttCheck.

22 April 2005  T. Sasaki  (not included in tracking-V07-00-01)
- SetNavigator Method has been removed from G4TrackingManager

22 March 2005 John Allison (tracking-V07-00-00 - needs global-V07-00-03)
- Simplified creation of G4AttValues using G4BestUnit::operator
  G4String and G4UIcommand::ConvertToString.

07 December 2004 Gabriele Cosmo (tracking-V06-02-09)
- Implemented migration to <cmath>.

01 December 2004 Gabriele Cosmo (tracking-V06-02-08)
- Fix in G4SteppingManager::InvokePSDIP() for completing migration
  to new G4VParticleVhange interface.

18 November 2004 Joseph Perl (tracking-V06-02-07)
- G4Trajectory add HepRep attribute for magnitude of momentum
- G4SmoothTrajectory add HepRep attribute for magnitude of momentum

Nov.18,2005 T.Sasaki(tracking-V06-02-06)
- G4SteppingManager2.cc Fix on interactive on/of for AtRest processes
Nov.16,2005 T.Sasaki(tracking-V06-02-05)
- G4SteppingManager2.cc  change the track status to StopAndKill when a track looses all kinetic energy cumlatively while the AlongStep loop
Nov.10,2004 T.Sasaki(tracking-V06-02-04)
- G4SteppingVerbose forced to be singleton.
- G4SteppingManager no more issue G4Excetpion even if no atRestDoit proccesses exit.
- G4SteppingManager change the track status to G4StopButAlive if the kinetic energy becomes below zero while AlongStep loop.

Aug.27, 2004 M.Asai (tracking-V06-02-03)
- G4SteppingManager now looks at "preStepPoint" for the sensitivety of the
  volume instead of the logical volume through G4Track.

Jul.08, 2004 K. Amako  (tracking-V06-02-02)
- Modified G4SteppingVerbose.cc so that PostStep information is printed out
  even when PostStep process is triggered by AlongStep process. 

Jul.06, 2004 M.Asai (tracking-V06-02-01)
- Remove the modification along tracking-V06-00-00 tag for G4SteppingManager2.cc
  and let a fix on it be on top of this.
- The fix is for incorrect total number of secondaries.

Jul.05, 2004 G.Cosmo (tracking-V06-02-00)
- Moved inlined contructors/destructors for G4Vtrajectory and G4VTrajectoryPoint
  to NOT inline. Created G4VtrajectoryPoint.cc file.
  Corrected signature of operator==() to canonical implementation.

Jun.11, 2004 G.Cosmo (tracking-V06-01-02)
- Use global flag G4TRACKING_ALLOC_EXPORT to export extern symbols for DLLs.
  Modified GNUmakefile and rearranged usage of extern symbols in classes.

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

Jun.07, 2004 G.Cosmo (tracking-V06-01-00)
- Export extern symbols for allowing support of DLLs on Windows.
  Modified files:  G4Trajectory.hh, G4TrajectoryPoint.hh,
                   G4SmoothTrajectory.hh, G4SmoothTrajectoryPoint.hh.
- GNUmakefile: added definition of GLOBLIBS for DLLs support on Windows.
- Coworks with "global-V06-01-02a".

Mar.19, 2004 M.Asai (tracking-V06-00-01)
- G4SteppingManager2.cc has been restored back to the version in
  geant4-06-00. The tag tracking-V06-00-00 was meant to be internal
  but eventually it was included in the reference tag.

Jan.20, 2004 M.Asai (tracking-V06-00-00)
- Remove obsolete operation for UserLimits in G4SteppingManager2.cc.

Dec.09, 2003 M.Asai (tracking-V05-02-05)
- G4SteppingManager.hh : Fix problem in SetUserAction().

Nov.18, 2003 M.Asai (tracking-V05-02-04)
- G4TrackingManager.cc: Move the invokation of PreUserTrackingAction
  after SetInitialStep, so that geometrical infomation is available
  at PreUserTrackingAction.

Nov.10, 2003 G.Cosmo (tracking-V05-02-03)
- G4SteppingManager.cc: renamed method LocateGlobalPointAndSetup(p,v,history) to
  to ResetHistoryAndLocate(p,v,history) according to changes in G4Navigator.

Oct.4, 2003 G.Cosmo (tracking-V05-02-02)
- GNUmakefile:
  o added dependency to new module "geometry/navigation".
  o replaced "digits+hits" with "digits_hits".
- Coworks with "geometry-V05-02-00" and "digits_hits-V05-02-00".

Sept. 25, 2003 H.Kurashige (tracking-V05-02-01)
- modify GNUMakefile for processes/cuts category

Sept. 19, 2003 V.Ivanchenko (tracking-V05-02-00)
- migrade to model variant of EM physics

May 23, 2003 M.Asai (tracking-V05-01-01)
- Clean up unused variables in trajectory classes.

May 21, 2003 M.Asai (tracking-V05-01-00)
- Clean up unused variables in user action classes.

Apr 11, 2003 M.Asai (tracking-V05-00-03)
- Recover "ApplyCuts" under "cuts-per-region"

Apr 10, 2003 T.Sasaki (tracking-V05-00-02)
- G4SteppingManger2.cc: Fix for the uninitilized variable
Mar 17, 2003, G.Cosmo (tracking-V05-00-01)
- G4SteppingVerbose.cc: fixed retrieval of phys-volume name, adding
  check for NULL pointer for post-step physical volume returned.

Dec 16, 2002, G.Cosmo (tracking-V05-00-00)
- Merged branch "geant4-04-01-ref-02-cuts-branch" to HEAD.
  Included development for 'cuts-by-region':
  o Modified implementation of stepping to cope with new scheme for
    cuts and regions.

Dec 12, 2002, G.Cosmo (tracking-V04-01-15)
- G4SteppingVerbose.cc: undo change introduced in tag "tracking-V04-01-07", where
  call to CopyState() in TrackingStarted() method was commented out, probably by
  mistake (?).
  The patch fixes the crash observed while running largeN test on test14.

Dec 12, 2002, G.Cosmo (tracking-V04-01-14)
- Corrected problem introduced in the last tag and concerning the usage of abs()
  (not defined of the std namespace!), causing compilation error on Windows.

Dec 6, 2002, J.Allison (tracking-V04-01-13)
- Last minute fix to G4VTrajectory::DrawTrajectory.

Dec 6, 2002, J.Allison (tracking-V04-01-12)
- Fixed unprotected pointer in G4SmoothTrajectoryPoint::CreateAttValues.

Dec 4, 2002, T.Sasaki (tracking-V04-01-11)
- static Get/SetInstnce methods has moved to .cc from .hh.

Nov 18, 2002, M.Asai (tracking-V04-01-10)
- Tagged.

Nov 11, 2002, J.Allison
- Restored G4SmoothTrajectory::DrawTrajectory.

Nov 8, 2002, M.Asai (tracking-V04-01-09)
- Tagged for Geant4 5.0 release

Nov 8, 2002 J.Generowicz
- Bodies introduced into SmoothTrajectory(Point) classes 

Nov 8, 2002, J.Allison
- Implemented default Show/DrawTrajectory in G4VTrajectory.
- Augmented GetAttDefs and CreateAttValues in G4(Smooth)Trajectory(Point).

Nov 07, 2002, T,Sasaki (tracking-V04-01-07, tracking-V04-01-08)
- Fix for the problem with optical processes
Nov 05, 2002, T,Sasaki (tracking-V04-01-06)
- clean up G4SteppingManager.hh and G4VSterppinVerbose.cc

Nov 05, 2002, M.Asai (tracking-V04-01-05)
- tagged.

Nov 05, 2002, J.Generowicz
- Renamed aTrajectory(Point)Allocator to aSmoothTrajectory(Point)Allocator
  in the SmoothTrajectory(Point) classes.

Nov 01, 2002, M.Asai (tracking-V04-01-04)
- Merge tracking-V04-01-03 and tracking-V04-01-02.

Nov 1, 2002, J.Allison  (tracking-V04-01-03 - does not include V04-01-02)
- Canonical tag of traj03 (see below).

Oct 31, 02 T. Sasaki (tracking-V04-01-02)
- G4SteppingManager.hh/cc
 o new ForceCondition flag StronglyForced was implemented

Oct 28, 2002, J.Allison  (traj03)
- Changed GetAttDefs return signature to map.
- Changed GetAttValues to CreateAttValues.
- Improved descriptions.

Oct 24, 02 J.Allison (traj02)
- Implemented simple versions of G4Trajectory::GetAttDefs/Values.

Oct 16, 02 J.Allison (traj01)
- Added GetAttDefs to G4VTrajectory, etc., and small corrections.

Sep 03, 02 M.Asai
- Start working for trajectory related issues
  o Modification made : G4VTrajectory, G4VTrajectoryPoint, G4Trajectory, G4TrajectoryPoint
  o Introduced : G4SmoothTrajectory, G4SmoothTrajectoryPoint

Aug 21, 02 M.Asai (tracking-V04-01-01)
- G4TrackingManager.cc
  o Set fpTrajectory pointer to zero when the trajectory is deleted.

Aug 13, 02 M.Asai (tracking-V04-01-00)
- G4TrackingManager.hh, G4TrackingManager.cc
  o Re-implement EventAborted() method to ensure this command
    properly works even at the stepping phase.

Apr 25, 02 M.Asai (tracking-V04-00-05)
- G4TrackingManager.cc
  o Implement EventAborted() method

Feb 07. 02 T.Sasaki (tracking-V04-00-04)
- G4SteppingManager.cc
  o Withdrawal of the fix in tracking-V04-00-02

Feb 04, 02 G.Cosmo (tracking-V04-00-03)
- G4SteppingManager.hh
  o moved 'SizeOfSelectedDoItVector' to global scope again, to allow porting on
    WIN-VC compiler. As private member, the following error is reported:
    - illegal pure syntax, must be '= 0' -
    - 'SizeOfSelectedDoItVector' : pure specifier can only be specified for functions -

Feb 03, 02 T.Sasaki and H.Kurashige
- G4SteppingManager2.cc
  o fix for extra steps when the ApplyCuts flag is set

Jan 23, 02 T.Sasaki(tracking-V04-00-02)
- G4SteppingManager.cc
  o safe comparison between floating numbers (0.0->DBL_MIN)

Jan 22, 02 M.Asai (tracking-V04-00-01)
- G4SteppingManager.cc
  o Issue G4Exception if a primary track starts outside of the world.

Jan 21, 02 T.Sasaki (tracking-V04-00-00)
- G4SteppingManager[.hh.cc]:
  o Fixed a bug for particles below threshold. Avoid double steps.
    If any of decay process might not set the GoodForTracking flag
    properly, the particle will be killed.
  o moved static variable SizeOfSelectedDoItVector from the global
    to class scope.

Dec 06, 01 G.Cosmo (tracking-V03-02-05)
- G4SteppingVerbose.cc: removed trigraph warning on Linux-g++.

Nov 27, 01 J.Apostolakis (tracking-V03-02-04)
  Correction to the use the touchable Handle for secondary tracks,
       when it is available.
  Now the direction is used in locating a particle (primary or
   secondary) in SetInitialStep. This is in order to assist in 
   starting particles that are on/near-to boundaries in the correct
   volume. 

Nov 27, 01 J.Apostolakis (tracking-V03-02-03)
  Initial step now uses the touchable Handle of the secondary track, 
when it exists and is valid.
  
  To be useful this tag depends the tag track-V03-02-07,
   which enables touchable handles in secondaries.

Nov 08, 01 G.Cosmo (tracking-V03-02-02)
- Introduced changes for reference-counted touchables (T.Sasaki).
- Removed warnings from Linux-g++ (R.Chytracek).
- Some reformatting (R.Chytracek).

Oct 11, 01 G.Cosmo (tracking-V03-02-00)
- G4VSteppingVerbose.hh: removed redundant inclusion of RW wrapper header.

Jun 06, 01 G.Cosmo (tracking-V03-01-02)
- G4SteppingManager.cc: explicitly initialise values to zero in STL
  collections fSelectedAtRestDoItVector, fSelectedAlongStepDoItVector, and
  fSelectedPostStepDoItVector in G4SteppingManager default constructor.
  This overcomes warnings detected on HP-aCC.

May 10, 01 T.Sasaki (tracking-V03-01-01) 
- fix for a suspneded track's vertex info.

May 03, 01 T.Sasaki/J.Allison (tracking-V03-01-00)
- G4TrackingMessenger* messenger moved to the class scope in G4TrackingManager.
- Changes for greps-V03-01-01 (elimination of RW) in G4Trajectory.cc.

Feb 09, 01 T.Sasaki (tracking-V03-00-05)
- Fix for linux etc.

Feb 08, 01 T.Sasaki (tracking-V03-00-03)
- STL migration: get rid of most of RW vectors

Feb 05, 01 G.Cosmo (tracking-V03-00-02)
- STL migration for G4OrderedTable and G4DataVector.
  Modified files: G4VSteppingVerbose.hh.

Jan 12, 01 T.Sasaki (tracking-V03-00-01)
- correction of class description 

Nov 04, 00 T.Sasaki (tracking-V02-00-02)
- G4TrackingManager.icc has been modified for new biasing schme
- Descriptions are added too header files

Aug 30, 00 T.Sasaki (tracking-V02-00-01)
- Protection for no AtRestDoIt procs. 

June 2, 00 M.Asai (tracking-01-01-01)
- Add SetUserTrackInformation(G4VUserTrackInformation*) to
  G4TrackingManager
- Fix problems in deleteing Touchable in G4SteppingManager (Hisaya) 

Hune 1, 00 H.Kurashige
- Add "const" to all G4VTouchable pointer

Jan 23, 00 T.Sasaki 
- GetCurrentValue() in G4TrackingMessenger.cc have a return value
- SetUserAction in G4SteppingManager.hh protected null pointers

Oct 22, 99 T.Sasaki G4SteppingMangaer.cc fixed the UserLmit problem     

Oct 13, 99 T.Sasaki updated G4SteppingVerbose and G4VSteppingVerbose 

Jun 29, 99 G.Folger have the ctor always assign a SteppingVerbose to fVerbose

Apr 15, 99 M.Asai (tracking-01-00-03)
- Make arguments in user action classes take const pointers.
- Make trajectory and trajectory point as derivable classes.

Mar 23, 99 T.Sasaki    (tracking-01-00-02)
- Fix for precision problem of safety in SteppingManager by John Apostolakis
- G4VSteppingVerbose is introduced  

Feb 18, 99 T.Sasaki (tracking-01-00-01)
- ShowStep() method was moved from G4Step to G4SteppingVerbose

Nov 25, 98 T.Sasaki    (tracking-00-04-03)
- Fix to G4SteppingManager.cc to set proper 2ndary numbers.

Nov 17 ,98 H.Kurashige (tracking-00-04-01)
- Fixed treatment of safety in case of ApplyCuts flag is ON

August 25, 98 G.Cosmo (tracking-00-02-01)
- Minor fix to G4SteppingManager.hh, G4SteppingVerbose.hh
  and G4TrackVector.hh.
  Angle brackets should be used for inclusion of RW classes!

July  1, 98 K. Amako
- Tag for tracking-00-07-02. This includes the following features.
- Because J. Apostolakis changed  the way to calcluate safety in the 
  transportation AlongStepGPIL, the way to set safety of the PostStepPoint
  was modified. Except the first step, the safety of the PreStepPoint
  is also valid in this scheme.
- The coherent energy cut scheme is implemented. This means that 
  the energy of a secondary particle is checked against the energy
  cut value and also safety. Also the 'GoodForTracking' flag is 
  checked. A warning message will be issued if a secondary particle
  has illegal status (i.e. below energy cut and 'GoodForTracking' is off).
  Because processes don't set properly the 'GoodForTracking' yet, this
  waning message is temporary suppressed in the current tag.

June 22, 98 J.Apostolakis 

- Added fix to implementation of new scheme of 'Safety'.

June 16, 98 P.Urban                      -- recorded by J. Apostolakis

- Added changes for tracking optimisation.  (Merged from branch)
- tagged tracking-00-06-03.

June 11, 98 G.Cosmo (tracking-00-06-02)
- Tagged tracking-00-06-02.
  Includes changes by P.Mora de Freitas and M.Asai which were missing in
  the previous tag.

June 6, 98  M.Asai
- GNUmakefile is modified to correspond to the new "digits+hits" structure.

Jun  3, 98  P.Mora de Freitas/M.Verderi
- Implement new scheme of 'Safety' where it becomes the 'range within 
  the assumptions of all processes are valid'. In the G4SteppingManager
  GetPIL loop the safety becomes "competitive" like the step limitation. 
  This means that at the begining of every step the G4SteppingManager 
  will initialize it to DBLMAX and that processes can only decrease it.

May 22, 98  T.Sasaki
- Verbose codes are separated from SteppingManager. 2 files are aded.
April 21, 98 G.Cosmo (tracking-00-05-01)
- Tagged.

April 12, 98 H.Kuraashige
- Implement new scheme of 'Particle Change'. Please see 
  particle_change.asc in geant4alpha/documents/particles+matter/.
  G4SteppingManager.hh,  .cc have been modified.

April 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: G4Trajectory.hh

March 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 

January  29, 97 K. Amako
  Following changes have been done and committed/tagged to cvs.
  Tag# is tracking-00-03-01. 
    - G4SteppingManager.cc: Corrected so that the verbose 
      'AlongStepDoItAllDone' is invokded after the 'safety' update.
    - G4SteppingManager.cc: Added a comment in the 'G4Step Information' 
      table of the verbose output of 'AlongStepDoIt (process by process)' 
      so that 'safety' value in it is not updated yet.
    - G4TrackingMessanger.cc: Help for verbose has been updated.
  

December 19, 97 G. Cosmo - (alpha03)

- Created.
