# Category track History

See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top).
It must **not** be used as a substitute for writing good git commit messages!

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

## 2024-06-01 Makoto Asai (track-V11-02-03)
- Add optional copy of touchables when copy constructing G4Track to support
  subevent parallelism
  - Co-working with event-V11-02-04, run-V11-02-06.

## 2024-05-03 Ben Morgan (track-V11-02-02)
- Remove use of no longer supported TiMemory.

## 2024-04-21 Gabriele Cosmo (track-V11-02-01)
- Fixed compilation error in G4VParticleChange on Windows VC++ with
  C++20 Standard enabled.
  Based on [GitHub PR#69](https://github.com/Geant4/geant4/pull/69).

## 2024-04-12 Vladimir Ivanchenko (track-V11-02-00)
- G4Track, G4Step, G4StepPoint - added keyword "inline" to all inline method
    declaration, improve comments
- G4Step - move methods to compute delta energy and momentum to inline removing
    G4Exception but improving comments to these methods, removed G4ThreadLocal
    variable from this container
- G4VParticleChange - improve layout of variables
- G4ParticleChangeForGamma, G4ParticleChangeForLoss - reserve vector of
    secondaries
- This MR provides identical results, the main purpose - more easy reading of
  class headers, expected CPU speed-up likely tiny.

## 2023-09-12 Makoto Asai (track-V11-01-01)
- Adding fSuspendAndWait to G4TrackStatus.
- G4TrackStatus is mutable in G4Track so that it may be modified in stacking.

## 2022-12-12 Ben Morgan (track-V11-01-00)
- Remove obsolete GNUmakefile scripts

## 2022-11-16 Gabriele Cosmo (track-V11-00-11)
- Fixed compilation warnings for implicit type conversions on macOS/XCode 14.1.

## 2022-10-31 Vladimir Ivanchenko (track-V11-00-10)
- G4ParticleChangeForMSC - fixed crash in "/tracking/verbose 6"

## 2022-09-13 Vladimir Ivanchenko (track-V11-00-09)
- 2nd round of particle change classes cleanup: improved diagnostic for 
    problems with primary track parameters or with secondary tracks; ensure
    kinetic energy to be positive after a step; improved comments

## 2022-09-08 Makoto Asai (track-V11-00-08)
- G4Step.hh, G4Step.icc - Adding ResetPre/PostStepPoint methods to replace
  StepPoint object without deleting the previous object.

## 2022-09-02 Vladimir Ivanchenko (track-V11-00-07)
- G4ParticleChangeForMSC - substitute virtual initialisation by inline
    method

## 2022-08-24 Vladimir Ivanchenko (track-V11-00-06)
- General clean-up of all ParticleChange classes:
   1) delete copy constructors and operators
   2) removed unused methods
   3) removed tracking cut 1 eV implemented inside G4ParticleChangeForLoss
   4) make more effective handling of secondary tracks
   5) substitute G4ParticleChangeForRadDecay by G4ParticleChangeForDecay
   6) make all derived classes/methods final
   7) removed commented code and useless or incorrect comments, added
      improved comments
   8) removed duplicated code

## 2022-06-24 Ben Morgan (track-V11-00-05)
- Initial `clang-tidy` fixes and minor simplifications

## 2022-05-25 Alberto Ribon (track-V11-00-04)
- `G4Track`: add methods to get/set information on (short-lived) parent resonance

## 2022-04-19 Jonas Hahnfeld (track-V11-00-03)
- `G4ParticleChangeForTransport`:
  * Apply proposed step length
  * Further simplify `UpdateStepForAlongStep` method, assuming that
    transportation is always the first process

## 2022-01-28 Ben Morgan (track-V11-00-02)
- Replace `geant4_global_library_target` with direct file inclusion and
  call to `geant4_add_category` to define library build from source modules.
- Make DLL export symbol a CMake module-level compile definition to aid
  future modularization

## 2021-12-13 Jonas Hahnfeld (track-V11-00-01)
- Simplify `G4ParticleChangeForTransport::UpdateStepForAlongStep`, assuming
  that transportation is always the first process

## 2021-12-10 Ben Morgan (track-V11-00-00)
- Change to new Markdown History format

---

# History entries prior to 11.0

- September 28, 2021 J. Hahnfeld (track-V10-07-06)
- G4ParticleChangeForMSC, G4ParticleChangeForTransport: Disable debugFlag

- September 22, 2021 G. Amadio (track-V10-07-05)
- G4Step: avoid accessing G4Track data via long pointer chains.
     
- September 8, 2021 D. Sawkey (track-V10-07-04)
- G4Track: get material property using int (enum) rather than string

- August 4, 2021 A. Ribon (track-V10-07-03)
  G4Track : migrated to the new version of G4PhysicsModelCatalog.

- April 28, 2021 M. Maire (track-V10-07-02)
  G4VParticleChange::DumpInfo(), G4ParticleChange::DumpInfo():
    adjust printout format

- April 1, 2021 B. Morgan (track-V10-07-01)
- Migrate build to modular CMake API

- February 8, 2021 G.Cosmo (track-V10-07-00)
- Correction to G4Track::operator=() to copy also touchable-handles.
  This fixes a crash originate when running importance sampling in the
  G4EventManager when the track got assigned the origin touchable handler
  from its own touchable handle; the touchable handler was sometimes not set.
  Based on report by M.Dressel.

- November 12, 2020 J.Madsen (track-V10-06-06)
- Added G4Profiler support.

- July 24, 2020 G.Cosmo (track-V10-06-05)
- Fixed case of non-initialised values in G4Step.

- July 16, 2020 G.Cosmo (track-V10-06-04)
- Minor c++11 review; code formatting and cleanup.

- March 11, 2020 V.Ivanchenko (track-V10-06-03)
- G4Track - do not use Velocity table, instead use GetBeta() method
    from G4DynamicParticle; expected minor speed-up

- February 10, 2020 V.Ivanchenko (track-V10-06-02)
- G4Track - use G4OpticalPhoton pdg code; removed static thread local
    variables; slightly simplified velocity computation; removed
    commented code left from previous tag

- January 29, 2020 V.Ivanchenko (track-V10-06-01)
- G4Track - fixed Coverity reports connected with unnecessary checks
  for valid pointers to G4Step and G4DynamicParticle

- December 9, 2019 B. Morgan (track-V10-06-00)
- Cleanup CMake build, removing obsolete granular library option and
  explicit include_directories.

- November 15, 2019 G.Cosmo (track-V10-05-01)
- Fixed implicit type conversions from size_t to G4int in G4Step.

- May 24, 2019 V.Ivanchenko (track-V10-05-00)
  G4Track.hh added forward declaration for G4VProcess

- Nov. 5, 2018 H.Kurashige(track-V10-04-02)
- Add protection for nullptr access in G4Track.icc
  Addressing problem report #2097.

- Aug. 15, 2018 H.Kurashige(track-V10-04-01)
- fix possible memory leaks
   in assignment operator and copy ctr of G4Step and G4Track
- clean up codes

- May 17, 2018 J.Madsen (track-V10-04-00)
- updated "thread-local-static-var" model to
  "function-returning-thread-local-static-reference" model
  which fixes Windows DLL + MT

- November 25, 2017 V.Ivanchenko (track-V10-03-00)
- G4VelocityTable - use G4ThreadLocalSingletone patern in order
    to provide correct deletion of these objects end of run;
    use only G4Log and G4Exp instead of std::log10 which is not
    needed

- May 4, 2016 H.Kurashige(track-V10-02-01)
- Use G4Log in G4VelocityTable::Value()

- January 12, 2016 M.Asai (track-V10-02-00)
- Chnage G4VUserTrackInformation pointer in G4Track to mutable
  and set-method to be const-method. This allows the user to
  set his/her G4VUserTrackInformation pointer without casting
  G4Track const pointer.

- September 29, 2015 H.Kurashige (track-V10-01-10)
- Add GetNumberOfSecondariesInCurrrentStep method to G4Step

- September 25, 2015 H.Kurashige (track-V10-01-09)
- Fix G4ParticleChange::UpdateStepForPostStep.

- September 15, 2015 M.Asai (track-V10-01-08)
- Roll back to track-V10-01-06 due to performance overhead.

- August 01, 2015 M.Asai (track-V10-01-07)
- Add verbosity to G4VParticleChange and G4ParticleChange for the case
  of event abortion.

- June 22, 2015 M.Asai (track-V10-01-05 and -06)
- Remove data members of G4VAuxiliaryTrackInformation abstract base class
  for memory reduction.

- June 3, 2015 M.Asai (track-V10-01-04)
- Fix incorrect copy constructor of G4Track in the previous tag.

- June 3, 2015 M.Asai (track-V10-01-02 and -03)
- Introducing G4VAuxiliaryTrackInformation class to be associated to G4Track.

- January 15, 2015 J.Apostolakis (track-V10-01-01)
- Fixed FieldTrackUpdator to pass magnetic moment and PDG spin
  Is part of corrections needed for Bugzilla issue 1696.

- December 16, 2014 J.Apostolakis (track-V10-01-00)
- Improve G4ParticleChangeForTransport, by adding update for FirstStep in volume.

- August 19, 2014 K. Genser (track-V10-00-04)
- Removed non cost requirement when using G4PhysicsModelCatalog getters and moved
   implementations to icc file (requires global-V10-00-31)

- May  21,  2014 J.Apostolakis (track-V10-00-03)
- Fix G4FieldTrackUpdator to energy/momentum passed to field integration:
   first set rest mass, then update kinetic energy. Problem affects
   propagation in multiple geometries.

- Mar. 07,  2014 H.Kurashige (track-V10-00-02)
- Fix memory leak in G4Step::SetPre/PostStepPoint
 (Bug # 1583)

- Jan. 04, 2014 H.Kurashige (track-V10-00-00)
- modify message from CheckIt for G4VParticleChange and G4ParticleChangeForDecay

- Nov. 21, 2013 H.Kurashige (track-V09-06-04)
- Fix Coverity deficts in G4Track constructors

- September 26, 2013 M.Asai (track-V09-06-03)
- Fix compilation warning caused by the previous tag.

- September 26, 2013 M.Asai (track-V09-06-02)
- Introduce CreatorModelIndex to G4Track and its access methods.

- April 10, 2013 G.Cosmo (track-V09-06-01)
- Cleanup of automatic changes for MT in classes in G4Track.
- Moved constructor and destructor of G4VelocityTable singleton to private.

- April 4, 2013 V.Ivanchenko (track-V09-06-00)
- G4ParticleChange - fixed bug #1451 - neutron do not change velocity
    after elastic scattering; little clean up useful for MT
- G4ParticleChangeForEloss, G4ParticleChangeForGamma - clean up
    computation of velocity (a little performance improvement expected)

- November 8, 2012 I.Hrivnacova (track-V09-05-20)
- Fixed G4Track: added initialisation of useGivenVelocity where missing

- Sep. 23, 2012 H.Kurashige (track-V09-05-19)
- Add UseGivenVelocity methods to skip CalculateVelocity

- August 27, 2012 H.Kurashige (track-V09-05-18)
- Fix a bug in copy constructor of G4VUUserTrackInformation (Problem #1346)

- August 11, 2012 H.Kurashige (track-V09-05-17)
- Fix a bug in G4VParticleChange::CheckSecondary
  theParentGlobalTime is set to time at the pre-step point

- August 9, 2012 V.Ivanchenko (track-V09-05-16)
  (should be accompned by a new EM tag of emutils-V09-05-31)
- G4ParticleChangeForMSC - allowed modification of position and
    direction AlongStep

- June 26, 2012 G.Cosmo (track-V09-05-13)
- Additional protection for parameter not used in G4VParticleChange when
  G4_NO_VERBOSE is set.

- June 20, 2012 G.Cosmo (track-V09-05-12)
- Protect variable used for verbosity within G4VERBOSE in G4ParticleChange
  and G4VParticleChange. Fixes compilation warnings when G4_NO_VERBOSE is
  set.

- June 13, 2012 G.Cosmo (track-V09-05-11)
- Explicitly use inclusion of headers for system of units and physical
  constants, in plan to remove implicit inclusion from globals.hh.

- June 09, 2012 H.Kurashige (track-V09-05-10)
- Fixed G4VelocityTable::Interpolation()

- May 23, 2012 G.Cosmo (track-V09-05-09)
- Fixed trivial cases of variable shadowing.

- May 15, 2012 H.Kurashige (track-V09-05-08)
- Modify way of handling parent weight in AlongStep
  in accumulated way (same manner for other prperties)

- May 1st, 2012 H.Kurashige (track-V09-05-07)
- Add global time check for secondaries in G4VParticleChange
- Modify output messages for CheckIt and CheckSecondary
- Add G4Exception in G4ParticleChangeForRadDecay:: AddSecondary

- April 30, 2012 H.Kurashige (track-V09-05-06)
- Fixed the bug in G4ParticleChange::AddSecondary.
  (Problem#1305 The local time of the parent was set before)

- April 29, 2012 H.Kurashige (track-V09-05-05)
- Fix treatment of weights in ParticleChange
  (Problem#1283)

- February 3rd, 2012 J.Apostolakis  (track-V09-05-04)
- G4FieldTrackUpdator::Update method must reset the RestMass,
   because it is used to Initialise each track by ParallelWorldScoringProcess,
   (as well as update during stepping a track.)
    Requires tag  'field-V09-05-03' of geometry/magneticfield

- January 21st, 2012 H.Kurashige    (track-V09-05-03)
- G4Track::CalculateVelocityForOpticalPhoton() has been reverted
  Modification of Optical process solves Problem #1275

- January 9th, 2012 H.Kurashige  (track-V09-05-02)
- Use GetNextMaterial instead of GetMaterial
  in G4Track::CalculateVelocityForOpticalPhoton()
   (Problem #1275)

- December 22nd, 2011 H.Kurashige  (track-V09-05-01)
- Set 'false' to SecondaryWeightByProcess in default
  (Problem #1273)

- December 9th, 2011 H.Kurashige  (track-V09-05-00)
- Fix Coverity defects
  (Modify copy constructor/assignment operator for G4VParticleChange and derived classes)
  (Add copy constructor/assignment operator for G4VUserTrackInformation)

- November 9th, 2011 H.Kurashige  (track-V09-04-13)
- Fix Coverity defects
  (copy constructor/assignment operator for G4Step/G4StepPoint)

- October 21th, 2011 G.Folger     (track-V09-04-12)
-  retag all of track, track-V09-04-11 was in src only.

- October 14th, 2011 P.Gumplinger (track-V09-04-11)
- modify G4Track.cc to work with materials-V09-04-15 (and 14)

- September 21st,  2011  H.Kurashige (track-V09-04-10)
- Re-Activate SetParentWeightByTracK() method because Adjoint Process relays on it
- ProposeParenetWeight method affects seconday trackes if SecondaryTrackWeightByProcess flag
  is set true even wheen SetParentWeightByTracK is set to false

-September 17, 2011, H.Kurashige (track-V09-04-09)
- Fix problems related to treatments of weight in ParticleChange (see problem #1243)
-- always set the parent track's weight to the value set by ProposeParentWeight() and  ProposeWeight()
   methods for all particle change classes.
-- remove fSetParentWeightByProcess and all related code.
-- SetSecondaryWeightByProcess() flag is set to true in default.

-September 11, 2011, H.Kurashige (track-V09-04-08)
- Modify ParticleChangeForTransport to fix a bug of wrong velocity
  in PostStepPoint after Along/PostStepDoIt

-August 22, 2011, H.Kurashige (track-V09-04-07)
- G4VelocityTable is modified and it is not derived from G4PhysicsVector
  (in order to avoid from creation of PhysicsVector as static objects)

August 17, 2011, H.Kurashige (track-V09-04-05)
- Add G4VelocityTable as singleton to avoid creation of G4PhysicsVector in event loop
- Modify G4Step::InitializeStep to set correct velocity for the optical photon

July 6, 2011, H.Kurashige (track-V09-04-04)
- Modify ParticleChanges (forDecay, for Transportation and G4ParticleChange)
  to handle local time change rather than global time
  (see problem #1224)
- Modify CalculateVelocityForOpticalPhoton() for Coverity report.

May. 20, 2011, B.Morgan (track-V09-04-03)
- CMakeLists.txt : Added G4TRACK_ALLOC_EXPORT compiler definition via
  add_definitions so it's applied to all sources in this module.

Apr. 29, 2011, H.Kurashige (track-V09-04-02)
- Fix memory leak in G4Step
- Rename GetVelocity to CalculateVelocity
- Add fVelocity (and Set/Get methods for it) in G4Track
- Set velocity of trak in UpdateStep in ParticleChange

Apr. 2, 2011, H.Kurashige (track-V09-04-01)
- Set maxT for Velocity Table to 1000
- Add SetVelocityTableProperties

Mar. 16, 2011, H.Kurashige (track-V09-04-00)
- Fix problems reported by Coverity
- Add  GetSecondaryInCurrentStep method in G4Step.

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.
