$Id: History,v 1.147 2010/11/18 17:24:22 allison Exp $ $Name: tracking-V09-03-09 $ ------------------------------------------------------------------- ========================================================= 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 * ---------------------------------------------------------- 18 November 2010 John Allison (tracking-V09-03-09) - G4Trajectory, G4SmoothTrajectory: o Reverted to original interface: DrawTrajectory(G4int i_mode = 0). See 16 June 2010. It seems G4Trajectory, G4SmoothTrajectory were not done. 27 October 2010 Gabriele Cosmo (tracking-V09-03-08) - Restored DLL setup as originally. Withdrawn changes in last tag. 19 October 2010 Gabriele Cosmo (tracking-V09-03-07) - Replaced G4TRACKING_ALLOC_EXPORT flag with G4ALLOC_EXPORT for DLL exported symbols. 6 October 2010 Hisaya Kurashige (tracking-V09-03-06) - Modified G4SteppingManager::GetSecondary() to give const G4TrackVector* (co-work with track-V09-03-05) 19 July 2010 Gabriele Cosmo (tracking-V09-03-05) - Added dummy initialisation to members in constructors in classes: G4AdjointSteppingAction, G4UserSteppingAction, G4UserTrackingAction and G4VSteppingVerbose. - G4SteppingManager: and use canonical form for G4Exception. Added protection for possible negative index in method ApplyProductionCut() and some printout formatting. - Added redundant return statement after exception in G4SteppingManager2. - Fixed restoring of output settings in G4SteppingVerbose. - Use 0 instead of NULL where applicable. 16 June 2010 John Allison (tracking-V09-03-04) - G4VTrajectory, G4Trajectory, G4SmoothTrajectory: o Reverted to original interface: DrawTrajectory(G4int i_mode = 0). This to prevent compiler warnings about hiding. We will re-instate DrawTrajectory() at a future major release. o Deprecation message is printed via G4Exception only once, and only if a user invokes with a non-zero value of i_mode. 29 May 2010 John Allison (tracking-V09-03-03) - G4VTrajectory: o Added virtual void DrawTrajectory() in preparation for i_mode migration. - G4Trajectory and G4SmoothTrajectory: followed the above. o (G4RichTrajectory inherits G4Trajectory so no need to change.) 28 May 2010 John Allison (tracking-V09-03-02) - G4VTrajectory.cc: Added explicit once-only i_mode deprecation warning. 13 May 2010 John Allison (tracking-V09-03-01 - needs greps-V09-03-00) - G4VTrajectory.cc: Added a statement to set IsDefaultDrawTrajectory, to assist deprecation of i-mode trajectory drawing parameter. After 10.0, it can be removed. 22 Feb 2010 John Allison (tracking-V09-03-00) - G4RichTrajectory: Fixed bug in MergeTrajectory (should not invoke G4Trajectory::MergeTrajectory). - G4RichTrajectory and G4RichTrajectoryPoint: o Eliminated spaces in G4AttValue values. o G4AttValue values are "None" for attributes derived from zero pointers. 24 Nov 2009 Joseph Perl (tracking-V09-02-07) - G4RichTrajectory: add additional attributes - G4RichTrajectoryPoint: add additional attributes 20 Nov 2009 L.Desorgher (tracking-V09-02-06) - Small correction in G4AdjointSteppingAction to stop the reverse tracking when adjoint particles reenter the adjoint source. Reput the Nan test removed in tracking-V09-02-05 but now as (x<0 && x>=0). This Nan test is still needed in very rare case where the weight of a particle goes to Nan. As such the code is stable! The reason for the Nan weight is till under investigation. 18 Nov 2009 G.Cosmo (tracking-V09-02-05) - Fixes to "Adjoint" classes to allow build of DLLs on Windows: renamed all methods and data holding "External" as keyword to "Ext". Cleanup of the code: use "const G4String&" instead of "G4String" wherever possible; use G4 types in consistent way; avoid usage of "isNan"; code formatting cleanup; added Geant4 disclaimer. 12 Nov 2009 J.Allison (tracking-V09-02-04) - G4Trajectory, G4SmoothTrajectory, G4RichTrajectory: o Added initial kinetic energy. - G4RichTrajectory: o Added final kinetic energy. - G4RichTrajectoryPoint: o Added "remaining energy" at each step. 10 Nov 2009 L. Desorgher(tracking-V09-02-03) - First commit of Adjoint classes in the tracking category New classes are: - G4AdjointCrossSurfChecker and G4AdjointSteppingAction 24 Sep 2009 P.Gumplinger (tracking-V09-02-02) - Correction to G4SteppingManager::InvokeAtRestDoItProcs so G4Scintillation process (with an AtRestDoIt and 'Forced') will not be set to 'NotForced' when NofInactiveProc. 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.