Changeset 1340 for trunk/source/track


Ignore:
Timestamp:
Nov 5, 2010, 3:45:55 PM (14 years ago)
Author:
garnier
Message:

update ti head

Location:
trunk/source/track
Files:
25 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/track/CVS/Entries

    r1337 r1340  
    11D/include////
    22D/src////
    3 /GNUmakefile/1.6/Thu Sep 30 06:16:03 2010//Tgeant4-09-04-beta-01
    4 /History/1.108/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-01
     3/CMakeLists.txt/1.1/Wed Sep 29 19:10:50 2010//Ttrack-V09-03-09
     4/GNUmakefile/1.8/Fri Nov  5 10:05:16 2010//Ttrack-V09-03-09
     5/History/1.118/Fri Nov  5 10:05:16 2010//Ttrack-V09-03-09
     6/sources.cmake/1.1/Wed Sep 29 19:10:58 2010//Ttrack-V09-03-09
  • trunk/source/track/CVS/Tag

    r1331 r1340  
    1 Ngeant4-09-04-beta-01
     1Ntrack-V09-03-09
  • trunk/source/track/GNUmakefile

    r826 r1340  
    1 # $Id: GNUmakefile,v 1.6 2006/04/28 13:45:48 asaim Exp $
     1# $Id: GNUmakefile,v 1.8 2010/10/27 07:53:29 gcosmo Exp $
    22# ----------------------------------------------------------
    33# GNUmakefile for track library.  Gabriele Cosmo, 3/4/1997.
  • trunk/source/track/History

    r1315 r1340  
    1 $Id: History,v 1.108 2010/03/09 02:49:44 kurasige Exp $
     1$Id: History,v 1.118 2010/10/30 07:49:08 kurasige Exp $
    22-------------------------------------------------------------------
    33
     
    1717     * Reverse chronological order (last date on top), please *
    1818     ----------------------------------------------------------
     19
     20Oct. 30, 2010, H.Kurashige (track-V09-03-09)
     21- Fix minor bugs reported by Coverity
     22
     23Oct. 27, 2010, G.Cosmo (track-V09-03-08)
     24- Restored DLL setup as originally. Withdrawn changes in last tag.
     25
     26Oct. 19, 2010  G.Cosmo (track-V09-03-07)
     27- Replaced G4TRACK_ALLOC_EXPORT flag with G4ALLOC_EXPORT for DLL exported
     28  symbols.
     29
     30Oct. 18, 2010  Hisaya Kurashige (track-V09-03-06)
     31- Add  GetSecondaryInCurrentStep method in G4Step.
     32  It gives secondaries in the current step.
     33
     34Oct. 6, 2010  Hisaya Kurashige (track-V09-03-05)
     35- G4Step::GetSecondary() gives back const G4TrackVector*
     36  and G4Step::GetfSecondary() gives back non-const pointer
     37 
     38Sep 21, 2010  Hisaya Kurashige (track-V09-03-04)
     39- Fill the last bin contents in G4Track::PrepareVelocityTable()
     40   to fix the bug in calculation of GetVelocity
     41
     42Aug 12, 2010 Hisaya Kurashige (track-V09-03-03)
     43- Add G4Track::GetParticleDefinition giving 'const' pointer
     44
     45July 21, 2010 Gabriele Cosmo (track-V09-03-02)
     46- Added protection against possible null pointer in G4Track::GetVelocity().
     47- Removed extra inclusion of G4Step.hh in G4Track header.
     48- Fixed cases of restoring cout/cerr precision formatting in classes:
     49  G4ParticleChange, G4ParticleChangeForDecay, G4ParticleChangeForGamma,
     50  G4ParticleChangeForLoss, G4ParticleChangeForMSC, G4ParticleChangeForTransport,
     51  G4VParticleChange.
     52- Added dummy initialisation to data members in constructors in classes:
     53  G4ParticleChange, G4ParticleChangeForDecay, G4ParticleChangeForGamma,
     54  G4ParticleChangeForLoss, G4ParticleChangeForTransport, G4Step, G4StepPoint,
     55  G4Track, G4VParticleChange.
     56
     57July 2, 2010 Hisaya Kurashige (track-V09-03-01)
     58- Use PhysicsVector for calculation of GetVelocity
     59- Add Exception(Warning) if GetDeltaEnergy/Momentum methods are invoked. These methds are planed to be removed
     60
    1961Mar. 9, 2010 Hisaya Kurashige (track-V09-03-00)
    2062- Change G4String to a pointer of G4String
     
    2769
    2870
    29 June 18, 2009 Hisaya Kurashige (track-V09-02-03)
     71Jun. 18, 2009 Hisaya Kurashige (track-V09-02-03)
    3072-added SetLowEnergyLimit method (Vladimir)
    3173
     
    59101
    60102
    61 Mar 30, 07 Hisaya Kurashige (track-V08-02-02)
     103Mar. 30, 07 Hisaya Kurashige (track-V08-02-02)
    62104- Fix weight treatment in G4ParticleChange
    63105
    64 Mar 26, 07 Hisaya Kurashige (track-V08-02-01)
     106Mar. 26, 07 Hisaya Kurashige (track-V08-02-01)
    65107- Added Non-Ionizing Energy Deposit in G4Step and G4VParticleChange
    66108
    67 Mar 11, 07 Hisaya Kurashige (track-V08-02-00)
     109Mar. 11, 07 Hisaya Kurashige (track-V08-02-00)
    68110- Added magnetic moment in G4DynamicParticle (co-work with particles-V08-02-00)
    69111- Fixed treatment of parent's weight in G4ParticleChange
    70112
    71 Nov  3, 06 J.Apostolakis (track-V08-01-04)
     113Nov.  3, 06 J.Apostolakis (track-V08-01-04)
    72114- New methods first/lastStepInVolume flag in G4Step, G4VParticleChange  by Hisaya
    73115- Revised UpdateStepForPostStep by John Apostolakis
    74116
    75 Oct 31, 06 G.Cosmo (track-V08-01-03)
     117Oct. 31, 06 G.Cosmo (track-V08-01-03)
    76118- Made operator=() inline.
    77119
    78 Aug 29, 06 H.Kurashige (track-V08-01-02)
     120Aug. 29, 06 H.Kurashige (track-V08-01-02)
    79121- Add methods for setting polarization and modifying weight
    80122    for G4ParticleChangeFoeGamma and  G4ParticleChangeForLoss
    81123          (V.Ivanchenko)
    82124
    83 July 17, 06 M.Asai (track-V08-01-01)
     125Jul. 17, 06 M.Asai (track-V08-01-01)
    84126- Re-tagged for G4Step and G4TrackVector only.
    85127
    86 June 09, 06 M.Asai (track-V08-01-00)
     128Jun. 09, 06 M.Asai (track-V08-01-00)
    87129- tagged for G4FieldTrackUpdator, G4Step and G4TrackVector.
    88130
    89 June 09, 06 T.Sasaki
     131Jun. 09, 06 T.Sasaki
    90132- G4Step now has secondary vector
    91133- G4TrackVector was moved from tracking category
    92134
    93 June 09, 06 M.Asai
     135Jun. 09, 06 M.Asai
    94136- Introducing G4FieldTrackUpdator class.
    95137- GNUmakefile now includes geometry/magneticfield
    96138
    97 June 07, 06 V.Ivanchenko (track-V08-00-03)
     139Jun. 07, 06 V.Ivanchenko (track-V08-00-03)
    98140-  G4ParticleChangeForLoss - remove momentum change AlongStep
    99141
     
    108150-  G4ParticleChangeForRadDecay is now derived from G4ParticleChangeForDecay
    109151
    110 Dec 05, 05 mma (track-V07-01-02)
     152Dec. 05, 05 mma (track-V07-01-02)
    111153- G4ParticleChangeForGamma : apply UpdateStepForPostStep in any case
    112154 
    113 Nov 26, 05 H.Kurashige (track-V07-01-01)
     155Nov. 26, 05 H.Kurashige (track-V07-01-01)
    114156- Fix GetVelocity : use the material pointer in PreStepPoint
    115157
     
    219261- Initial value for fCharge is given in the constuctor
    220262  of G4StepPoint.
     263
    221264Nov. 20, 02   G.Cosmo (track-V04-01-02)
    222265- Patched access to public static data in G4VParticleChange.
     
    281324- Clean up codes
    282325 
    283 Mar 7, 01  H.Kurashige (track-V03-00-04)
     326Mar. 7, 01  H.Kurashige (track-V03-00-04)
    284327- Add protection for the zero-momentum case
    285328  for UpdateStepForAlongStep in ParticleChange  (J.A)
    286329
    287 Feb 17, 01  H.Kurashige (track-V03-00-03)
     330Feb. 17, 01  H.Kurashige (track-V03-00-03)
    288331- Add Velocity and Setmethod in G4StepPoint
    289332- Add SetVelocity in G4Step.::InitializeStep
    290333- Modify G4StepPoint::GetVelocity to return correct velocity for optical photon
    291334
    292 Feb 17, 01  H.Kurashige (track-V03-00-02)
     335Feb. 17, 01  H.Kurashige (track-V03-00-02)
    293336- Fix G4Track::GetVelocity for Gamma
    294337
    295 Feb 12, 01 H.Kurashige (track-V03-00-01)
     338Feb. 12, 01 H.Kurashige (track-V03-00-01)
    296339- Remove thePolarizationChange from G4ParticleChangeForTransport.hh
    297340
    298341
    299 Feb 07, 01 H.Kurashige (track-V03-00-00)
     342Feb. 07, 01 H.Kurashige (track-V03-00-00)
    300343- Add copy constructor to G4Track
    301344
    302 Oct 19, 00 H.kurashige (track-V02-00-01)
     345Oct. 19, 00 H.kurashige (track-V02-00-01)
    303346- Bug fixes in copy constructor of G4ParticleChange
    304347
    305 Oct 18, 00 H.Kurashige (track-V02-00-00)
     348Oct. 18, 00 H.Kurashige (track-V02-00-00)
    306349- Add "const" to G4DynamicParticle pointer  of returned value of G4Track::GetDynamicParticle
    307350
    308 June 2, 2000 M.Asai  (track-V01-01-02)
     351Jun. 2, 2000 M.Asai  (track-V01-01-02)
    309352- Add G4VUserTrackInformation class and its pointer data member in G4Track
    310353- Add "const" to pointer to G4Step in G4Track (Hisaya)
    311354
    312 June 1 2000 H.Kurashige (track-V01-01-01a)
     355Jun. 1 2000 H.Kurashige (track-V01-01-01a)
    313356-  Removed "const" from the return value type of G4StepPoint::GetPhysicalVolume()
    314357
     
    324367-  GetTouchable methods has been changed to give "const" pointer
    325368
    326 Feb 13, 2000 H.Kurashige (track-V01-00-01)
     369Feb. 13, 2000 H.Kurashige (track-V01-00-01)
    327370-  Added G4ParticleChangeForRadDecay
    328371-  Changed G4VParticleChange::AddSecondary to set secondary track weight equal to the primary's one
    329372-  Removed printing pointers of ParticleChange object in CheckIt methods
    330373
    331 Jan 18, 2000 H.Kurashige (track-V01-00-00)
     374Jan. 18, 2000 H.Kurashige (track-V01-00-00)
    332375-  Fixed bugs in treatment of secondary track weight
    333376
    334 Nov 7, 1999 H.Kurashige (track-V00-01-01)
     377Nov. 7, 1999 H.Kurashige (track-V00-01-01)
    335378-  Added comments for "Software Reference Manual"
    336379
    337 Oct 5, 1999 H,Kurashige (track-V00-01-00)
     380Oct. 5, 1999 H,Kurashige (track-V00-01-00)
    338381-  Added mass/charge change in G4ParticleChange
    339382-  Modified G4ParticleChange::CheckIt
    340383-  Separate implementation of inline functions to G4Track.icc and G4Step.icc
    341384
    342 July 14 1999 H.Kurashige (track-01-00-07)
     385Jul. 14 1999 H.Kurashige (track-01-00-07)
    343386-  Fixed bugs in G4Mars5GeVMechanism::CreatePion()
    344387
     
    346389-  Modified CheckIt methods of G4VParticleChange and derived classes
    347390
    348 Apr 28, 1999 H.Kurashige (track-01-00-05b)
     391Apr. 28, 1999 H.Kurashige (track-01-00-05b)
    349392-  Protect proton mass against glanular libraly for G4Mars5Gev...(Makoto)
    350393-  Fixed error messages in G4ParticleChange::CheckIt (Hisaya)
    351394-  Remove "include/G4VProcess.hh" from G4Step.cc (Hisaya)
    352395
    353 Apr 13, 1999 H.Kurashige (track-01-00-04)
     396Apr. 13, 1999 H.Kurashige (track-01-00-04)
    354397- Code polishing according to the messages by CodeWizard
    355398- Added new virtual method of G4bool CheckIt(const G4Track&) in G4VParticleChange
    356399
    357 Feb 17, 1999 H.Kurashige (track-01-00-03)
     400Feb. 17, 1999 H.Kurashige (track-01-00-03)
    358401-  Removed G4Step::ShowStep() (Takashi)
    359402-  Fixed bugs in G4ParticleChange.icc (Hisaya)
    360403
    361 Feb 9, 1999 H.Kurashige (track-01-00-02)
     404Feb. 9, 1999 H.Kurashige (track-01-00-02)
    362405-  Modified G4TrackFastVector (Hisaya)
    363406-  Modified G4ParticleChange::CheckIt (Hisaya)
    364407
    365 Feb 6, 1999 H.Kurashige (track-01-00-01)
     408Feb. 6, 1999 H.Kurashige (track-01-00-01)
    366409-  Added Get/SetMomentumDirectionChange in G4ParticleChange (Hisaya)
    367410-  Removed using G4ParticleMomentum (Hisaya)
    368411
    369 December 15,  1998 H.Kurashige (track-00-04-05)
     412Dec. 15,  1998 H.Kurashige (track-00-04-05)
    370413- G4ParticleChange::CheckIt is activated in VERBOSE mode (Hisaya)
    371414
    372 December 12, 1998 H.Kurashige (track-00-04-04)
     415Dec. 12, 1998 H.Kurashige (track-00-04-04)
    373416- Fixed bugs in G4Mars5GeVMechanism (Hisaya)
    374417- Added SwOnAllEB/SwOffAllEB in G4ParticleChange (Hisaya)
    375418- Added GetEBMechanis and IsEBActive in G4VParticleChange (Hisaya)
    376419
    377 December 11, 1998 H.Kurashige (track-00-04-03)
     420Dec. 11, 1998 H.Kurashige (track-00-04-03)
    378421- Fixed bugs in G4Mars5GeVMechanism (Hisaya)
    379422
    380 December 9, 1998 L.Urban (track-00-04-02)
     423Dec. 9, 1998 L.Urban (track-00-04-02)
    381424- Added G4ParticleChangeForLoss and G4ParticleChangeForMSC.
    382425
    383 November 18, 98 H.Kurashige (track-00-04-01)A
     426Nov. 18, 98 H.Kurashige (track-00-04-01)A
    384427- Added new member of weight in G4Track and removed G4BiasingTag
    385428- Added Event Biasing based on MARS
     
    387430  ( this tag requires particles-00-04-01 tag)
    388431
    389 November 9, 98  H.Kurashige (track-00-03-05)
     432Nov. 9, 98  H.Kurashige (track-00-03-05)
    390433- Added Event Biasing Mechanism in G4VParticleChange
    391434
    392 November 8, 98 H.Kurashige (track-00-03-04)
     435Nov. 8, 98 H.Kurashige (track-00-03-04)
    393436- Added G4BiasingTag as a member of G4Track
    394437- Modified G4Step, and G4StepPoint for managing  G4BiasingTag
    395438
    396 Octorber 17, 98 H.Kurashige (track-00-03-03)
     439Oct. 17, 98 H.Kurashige (track-00-03-03)
    397440- Fixed bugs in G4VParticleChange and G4ParticleChange
    398441
    399 October 14 19 H.Kurashige (track-00-03-01)
     442Oct. 14 19 H.Kurashige (track-00-03-01)
    400443- Modified G4ParticleChangeForTransportation for new relocation algorism.
    401444  (J.Apost.)
    402445
    403 August 31, 98 G.Cosmo (track-00-02-01)
     446Aug. 31, 98 G.Cosmo (track-00-02-01)
    404447- Added "global" phony target to GNUmakefile.
    405448- Added comment to G4StepPoint.hh (J.Apostolakis).
    406449
    407 July 20,98 H.Kurashige (track-00-01-05)
     450Jul. 20,98 H.Kurashige (track-00-01-05)
    408451- Modified G4ParticleChangeForDecay
    409452
    410 July 10, 98 P.Urban (track-00-01-02)
     453Jul. 10, 98 P.Urban (track-00-01-02)
    411454- Optimised G4ParticleChangeForTransport. Much less data
    412455  is copied -> increased performance.
    413456
    414 July 1, 98 H.Kurashige (track-00-07-02)
     457Jul. 1, 98 H.Kurashige (track-00-07-02)
    415458- Moved UpdateStepForAlongStep into G4ParticleChangeForTransport.cc file
    416459 
    417 June 30, 98 P. Urban (track-00-07-01)
     460Jun. 30, 98 P. Urban (track-00-07-01)
    418461- Some more tracking optimisation results.
    419462
    420 June 22, 98 P. Urban (track-00-06-04)
     463Jun. 22, 98 P. Urban (track-00-06-04)
    421464- Preliminary results of tracking optimisation merged into HEAD.
    422465
    423 June 11, 98 G.Cosmo (track-00-06-03)
     466Jun. 11, 98 G.Cosmo (track-00-06-03)
    424467- Tagged track-00-06-03.
    425468
    426 June 11, 98  J.Allison
     469Jun. 11, 98  J.Allison
    427470- Added a missing inline keyword to G4Track.hh:341.
    428471
    429 June 8, 98  H.Kurashige
     472Jun. 8, 98  H.Kurashige
    430473- Add GoodForTracking and BelowThreshold flags in G4Track
    431474  for new COHERENT scheme for the Cuts
     
    435478  Add new class of G4ParticleChangeForTransport
    436479
    437 April 12, 98 H.Kuraashige
    438   Implement new scheme of 'Particle Change'. Please see
     480Apr. 12, 98 H.Kurashige
     481- Implement new scheme of 'Particle Change'. Please see
    439482  particle_change.asc in geant4alpha/documents/particles+matter/.
    440   Following files are modified (or added)
     483- Following files are modified (or added)
    441484    G4ParticleChange.hh, .icc, .cc
    442485    G4VParticleChange.hh, .icc, .cc
     
    444487    G4Step.hh,  G4TrackFastVector.hh
    445488
    446 April 9, 98 G.Cosmo
     489Apr. 9, 98 G.Cosmo
    447490- Porting on DEC-cxx 6.0.
    448491  Removed meaningless usage of "const" qualifier from functions
     
    451494  G4Step.hh, G4StepPoint.hh, G4Track.hh
    452495
    453 March 18, 1998 K. Amako
    454   Add following information to G4Track:
     496Mar. 18, 1998 K.Amako
     497- Add following information to G4Track:
    455498     1.Momentum direction at the start point (vertex position) of the track
    456499     2.Kinetic energy at the start point (vertex position) of the track
    457500     3.Pointer to the process which created the current track
    458   Due to this, the following files have modififed and committed.
     501- Due to this, the following files have modififed and committed.
    459502     1.NewDesignDoc.txt
    460503     2.G4Track.hh, G4Track.cc
    461504     3.G4SteppingManager.cc
    462505
    463 
    464 January  29, 97 K. Amako
    465   Following changes have been done and committed/tagged to cvs.
     506Jan.  29, 97 K. Amako
     507- Following changes have been done and committed/tagged to cvs.
    466508  Tag# is track-00-03-01.
    467509    - G4Step.cc: Output format has been changed in showStep().
    468510 
    469 December 19, 97 G. Cosmo - (alpha03)
     511Dec. 19, 97 G. Cosmo - (alpha03)
    470512
    471513- Created.
  • trunk/source/track/include/CVS/Entries

    r1337 r1340  
    1 /G4FieldTrackUpdator.hh/1.2/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-01
    2 /G4ForceCondition.hh/1.5/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-01
    3 /G4GPILSelection.hh/1.4/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-01
    4 /G4ParticleChange.hh/1.13/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-01
    5 /G4ParticleChange.icc/1.14/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-01
    6 /G4ParticleChangeForDecay.hh/1.9/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-01
    7 /G4ParticleChangeForGamma.hh/1.9/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-01
    8 /G4ParticleChangeForLoss.hh/1.22/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-01
    9 /G4ParticleChangeForMSC.hh/1.9/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-01
    10 /G4ParticleChangeForMSC.icc/1.7/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-01
    11 /G4ParticleChangeForRadDecay.hh/1.7/Thu Sep 30 06:16:05 2010//Tgeant4-09-04-beta-01
    12 /G4ParticleChangeForTransport.hh/1.16/Thu Sep 30 06:16:05 2010//Tgeant4-09-04-beta-01
    13 /G4ParticleChangeForTransport.icc/1.13/Thu Sep 30 06:16:05 2010//Tgeant4-09-04-beta-01
    14 /G4Step.hh/1.19/Thu Sep 30 06:16:05 2010//Tgeant4-09-04-beta-01
    15 /G4Step.icc/1.19/Thu Sep 30 06:16:05 2010//Tgeant4-09-04-beta-01
    16 /G4StepPoint.hh/1.19/Thu Sep 30 06:16:08 2010//Tgeant4-09-04-beta-01
    17 /G4StepPoint.icc/1.14/Thu Sep 30 06:16:08 2010//Tgeant4-09-04-beta-01
    18 /G4StepStatus.hh/1.4/Thu Sep 30 06:16:08 2010//Tgeant4-09-04-beta-01
    19 /G4SteppingControl.hh/1.4/Thu Sep 30 06:16:08 2010//Tgeant4-09-04-beta-01
    20 /G4Track.hh/1.19/Thu Sep 30 06:16:09 2010//Tgeant4-09-04-beta-01
    21 /G4Track.icc/1.16/Thu Sep 30 06:16:09 2010//Tgeant4-09-04-beta-01
    22 /G4TrackFastVector.hh/1.5/Thu Sep 30 06:16:09 2010//Tgeant4-09-04-beta-01
    23 /G4TrackStatus.hh/1.4/Thu Sep 30 06:16:09 2010//Tgeant4-09-04-beta-01
    24 /G4TrackVector.hh/1.2/Thu Sep 30 06:16:09 2010//Tgeant4-09-04-beta-01
    25 /G4VParticleChange.hh/1.16/Thu Sep 30 06:16:09 2010//Tgeant4-09-04-beta-01
    26 /G4VParticleChange.icc/1.16/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-01
    27 /G4VUserTrackInformation.hh/1.9/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-01
     1/G4FieldTrackUpdator.hh/1.2/Thu Sep 30 06:16:04 2010//Ttrack-V09-03-09
     2/G4ForceCondition.hh/1.5/Thu Sep 30 06:16:04 2010//Ttrack-V09-03-09
     3/G4GPILSelection.hh/1.4/Thu Sep 30 06:16:04 2010//Ttrack-V09-03-09
     4/G4ParticleChange.hh/1.13/Thu Sep 30 06:16:04 2010//Ttrack-V09-03-09
     5/G4ParticleChange.icc/1.14/Thu Sep 30 06:16:04 2010//Ttrack-V09-03-09
     6/G4ParticleChangeForGamma.hh/1.9/Thu Sep 30 06:16:04 2010//Ttrack-V09-03-09
     7/G4ParticleChangeForLoss.hh/1.22/Thu Sep 30 06:16:04 2010//Ttrack-V09-03-09
     8/G4ParticleChangeForMSC.hh/1.9/Thu Sep 30 06:16:04 2010//Ttrack-V09-03-09
     9/G4ParticleChangeForMSC.icc/1.7/Thu Sep 30 06:16:04 2010//Ttrack-V09-03-09
     10/G4ParticleChangeForRadDecay.hh/1.7/Thu Sep 30 06:16:05 2010//Ttrack-V09-03-09
     11/G4ParticleChangeForTransport.icc/1.13/Thu Sep 30 06:16:05 2010//Ttrack-V09-03-09
     12/G4StepPoint.hh/1.19/Thu Sep 30 06:16:08 2010//Ttrack-V09-03-09
     13/G4StepPoint.icc/1.14/Thu Sep 30 06:16:08 2010//Ttrack-V09-03-09
     14/G4StepStatus.hh/1.4/Thu Sep 30 06:16:08 2010//Ttrack-V09-03-09
     15/G4SteppingControl.hh/1.4/Thu Sep 30 06:16:08 2010//Ttrack-V09-03-09
     16/G4TrackFastVector.hh/1.5/Thu Sep 30 06:16:09 2010//Ttrack-V09-03-09
     17/G4TrackStatus.hh/1.4/Thu Sep 30 06:16:09 2010//Ttrack-V09-03-09
     18/G4VParticleChange.hh/1.16/Thu Sep 30 06:16:09 2010//Ttrack-V09-03-09
     19/G4VParticleChange.icc/1.16/Thu Sep 30 06:16:10 2010//Ttrack-V09-03-09
     20/G4VUserTrackInformation.hh/1.9/Thu Sep 30 06:16:10 2010//Ttrack-V09-03-09
     21/G4ParticleChangeForDecay.hh/1.10/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     22/G4ParticleChangeForTransport.hh/1.17/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     23/G4Step.hh/1.22/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     24/G4Step.icc/1.22/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     25/G4Track.hh/1.22/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     26/G4Track.icc/1.20/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     27/G4TrackVector.hh/1.3/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
    2828D
  • trunk/source/track/include/CVS/Tag

    r1331 r1340  
    1 Ngeant4-09-04-beta-01
     1Ntrack-V09-03-09
  • trunk/source/track/include/G4ParticleChangeForDecay.hh

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4ParticleChangeForDecay.hh,v 1.9 2006/06/29 21:14:19 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParticleChangeForDecay.hh,v 1.10 2010/07/21 09:30:15 gcosmo Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929
    3030//
     
    158158
    159159#endif
    160 
    161 
    162 
    163 
    164 
    165 
    166 
    167 
    168 
    169 
    170 
    171 
    172 
    173 
    174 
    175 
  • trunk/source/track/include/G4ParticleChangeForTransport.hh

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4ParticleChangeForTransport.hh,v 1.16 2006/06/29 21:14:31 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParticleChangeForTransport.hh,v 1.17 2010/07/21 09:30:15 gcosmo Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    126126  private:
    127127    G4bool     isMomentumChanged;
    128     //  The flag which is set if mometum is changed in this stepi
     128    //  The flag which is set if momentum is changed in current step
    129129    G4Material* theMaterialChange;
    130130    const G4MaterialCutsCouple* theMaterialCutsCoupleChange;
  • trunk/source/track/include/G4Step.hh

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4Step.hh,v 1.19 2008/01/12 12:00:25 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4Step.hh,v 1.22 2010/10/18 23:52:04 kurasige Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    121121   void SetControlFlag(G4SteppingControl StepControlFlag);
    122122
    123    // difference of position, time, momentum and energy
    124    G4ThreeVector GetDeltaPosition() const;
    125    G4double GetDeltaTime() const;
    126 
    127    G4ThreeVector GetDeltaMomentum() const;
    128    G4double GetDeltaEnergy() const;
    129 
    130    // manipulation of total energy deposit
     123    // manipulation of total energy deposit
    131124   void AddTotalEnergyDeposit(G4double value);
    132125   void ResetTotalEnergyDeposit();
     
    138131
    139132  // Get/Set/Clear flag for initial/last step
     133   // NOTE:  following flags are not used
     134   //        will be ready in later release
    140135   G4bool IsFirstStepInVolume() const;
    141136   G4bool IsLastStepInVolume() const;
     
    145140   void SetLastStepFlag();
    146141   void ClearLastStepFlag();
     142
     143  // difference of position, time, momentum and energy
     144   G4ThreeVector GetDeltaPosition() const;
     145   G4double GetDeltaTime() const;
     146
     147  // These methods will be deleted
     148  // NOTE: use  GetTotalEnergyDeposit() to obtain
     149  //       energy loss in the material
     150  //
     151   G4ThreeVector GetDeltaMomentum() const;
     152   G4double GetDeltaEnergy() const;
     153
    147154
    148155// Other member functions
     
    191198// Secondary buckets
    192199public:
    193    G4TrackVector* GetSecondary() const;
     200   // secodaries in the current step
     201   const std::vector<const G4Track*>* GetSecondaryInCurrentStep() const;
     202 
     203   // NOTE: Secondary bucket of the Step contains 
     204   //       all secondaries during tracking the current track
     205   //       (i.e. NOT secondaries produced in the current step)
     206   // all following methods give same object (i.e. G4TrackVector  )
     207   // but 2nd one will create bucket in addition 
     208   const G4TrackVector* GetSecondary() const ;
    194209   G4TrackVector* GetfSecondary();
    195210   G4TrackVector* NewSecondaryVector();
     211
     212   // just delete secondary bucket
     213   //  NOTE: G4Track objects inside the bucket are not deleted
    196214   void DeleteSecondaryVector();
     215
     216   // Add secondary tracks to the bucket
    197217   void SetSecondary( G4TrackVector* value);
    198 private:   
     218
     219private:
     220   // Secondaty bucket implemented by using  std::vector of G4Track*   
    199221   G4TrackVector* fSecondary;
    200222
  • trunk/source/track/include/G4Step.icc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4Step.icc,v 1.19 2008/02/05 01:46:57 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4Step.icc,v 1.22 2010/10/18 23:52:04 kurasige Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    8686 }
    8787
    88 inline
    89  G4ThreeVector G4Step::GetDeltaMomentum() const
    90  {
    91    return fpPostStepPoint->GetMomentum()
    92             - fpPreStepPoint->GetMomentum();
    93  }
    94 
    95 inline
    96  G4double G4Step::GetDeltaEnergy() const
    97  {
    98    return fpPostStepPoint->GetKineticEnergy()
    99             - fpPreStepPoint->GetKineticEnergy();
    100  }
    10188
    10289inline
     
    163150inline
    164151 void G4Step::CopyPostToPreStepPoint( )
    165  {
     152 {
     153   //This method is called at the beggining of each step
    166154   *(fpPreStepPoint) = *(fpPostStepPoint);
    167155   fpPostStepPoint->SetStepStatus(fUndefined);
    168  }
     156   // clear secondary in current
     157   fSecondary->secondaryInCurrent.clear();
     158}
    169159
    170160
     
    222212   fpPreStepPoint->SetWeight(fpTrack->GetWeight());
    223213   
    224    
     214   // clear secondary in current       
     215   fSecondary->secondaryInCurrent.clear();
     216 
    225217   (*fpPostStepPoint) = (*fpPreStepPoint);
    226218 }
     
    251243   fpTrack->SetWeight(fpPostStepPoint->GetWeight());
    252244
     245
    253246   // set velocity
    254247   fpPostStepPoint->SetVelocity(fpTrack->GetVelocity());
    255248}
    256249
    257 inline G4TrackVector* G4Step::GetfSecondary()  {
     250inline   
     251 const std::vector<const G4Track*>* G4Step::GetSecondaryInCurrentStep() const
     252{
     253  return  &fSecondary->secondaryInCurrent;
     254}
     255
     256inline const G4TrackVector* G4Step::GetSecondary() const 
     257{
    258258   return fSecondary;
    259     }
    260 inline G4TrackVector* G4Step::GetSecondary() const {
     259}
     260
     261inline G4TrackVector* G4Step::GetfSecondary() 
     262{
    261263   return fSecondary;
    262     }
    263 inline void G4Step::SetSecondary(G4TrackVector* value)  {
     264}
     265
     266inline void G4Step::SetSecondary(G4TrackVector* value) 
     267{
    264268   fSecondary=value;
    265     }
    266 inline G4TrackVector* G4Step::NewSecondaryVector()  {
     269}
     270
     271inline
     272 G4TrackVector* G4Step::NewSecondaryVector() 
     273{
    267274   fSecondary=new G4TrackVector();
    268275   return fSecondary;
    269     }
     276}
     277
    270278inline void G4Step::DeleteSecondaryVector()  {
    271279   delete fSecondary;
  • trunk/source/track/include/G4Track.hh

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4Track.hh,v 1.19 2008/10/24 08:22:20 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4Track.hh,v 1.22 2010/08/11 17:11:54 kurasige Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    5858#include "G4TouchableHandle.hh"       // Include from 'geometry'
    5959#include "G4VUserTrackInformation.hh"
     60
     61#include "G4PhysicsLogVector.hh"
    6062
    6163#include "G4Material.hh"
     
    116118
    117119  // particle definition
     120    const G4ParticleDefinition* GetParticleDefinition() const;
     121   //  following method of GetDefinition remains
     122   //  because of backward compatiblity. It will be removed in future
    118123   G4ParticleDefinition* GetDefinition() const;
    119124
     
    235240   private:
    236241//---------
     242  // prepare velocity table
     243  void PrepareVelocityTable();
    237244
    238245// Member data
     
    277284   
    278285   G4VUserTrackInformation* fpUserInformation;
     286
     287   mutable G4Material*               prev_mat;
     288   mutable G4MaterialPropertyVector* groupvel;
     289   mutable G4double                  prev_velocity;
     290   mutable G4double                  prev_momentum;
     291
     292   static G4PhysicsLogVector* velTable;
     293   static const G4double maxT;
     294   static const G4double minT;
     295   G4bool              is_OpticalPhoton;
    279296};
    280 #include "G4Step.hh"
     297
    281298#include "G4Track.icc"
    282299
  • trunk/source/track/include/G4Track.icc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4Track.icc,v 1.16 2008/10/24 08:22:20 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4Track.icc,v 1.20 2010/10/27 07:53:29 gcosmo Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//-----------------------------------------------------------------
     
    3838  extern G4DLLIMPORT G4Allocator<G4Track> aTrackAllocator;
    3939#endif
    40 
    41 // Operators
    42 
    43    inline void* G4Track::operator new(size_t)
    44    { void *aTrack;
    45      aTrack = (void *) aTrackAllocator.MallocSingle();
    46      return aTrack;
    47    }
    48       // Override "new" for "G4Allocator".
    49 
    50    inline void G4Track::operator delete(void *aTrack)
    51    { aTrackAllocator.FreeSingle((G4Track *) aTrack);}
    52       // Override "delete" for "G4Allocator".
    53 
    54    inline G4bool G4Track::operator==( const G4Track& s)
    55    { return (this==&s);  }
    56       // Define "==" operator because "G4TrackVector" uses
    57       // "RWPtrOrderdVector" which requires this.
    58 
    59 // Get/Set functions
    60 // dynamic particle
    61    inline const G4DynamicParticle* G4Track::GetDynamicParticle() const
    62    { return fpDynamicParticle; }
    63 
    64 // particle definition
    65    inline G4ParticleDefinition* G4Track::GetDefinition() const
    66    { return fpDynamicParticle->GetDefinition(); }
    67 
    68 // parent track ID
    69    inline G4int G4Track::GetParentID() const
    70    { return fParentID; }
    71 
    72    inline void G4Track::SetParentID(const G4int aValue)
    73    { fParentID = aValue; }
    74 
    75 // current track ID
    76    inline G4int G4Track::GetTrackID() const
    77    { return fTrackID; }
    78 
    79    inline void G4Track::SetTrackID(const G4int aValue)
    80    { fTrackID = aValue; }
    81 
    82 // position
    83    inline const G4ThreeVector& G4Track::GetPosition() const
    84    { return fPosition; }
    85 
    86    inline void G4Track::SetPosition(const G4ThreeVector& aValue)
    87    { fPosition = aValue; }
    88 
    89 // global time
    90    inline G4double G4Track::GetGlobalTime() const
    91    { return fGlobalTime; }
    92 
    93    inline void G4Track::SetGlobalTime(const G4double aValue)
    94    { fGlobalTime = aValue; }
    95      // Time since the event in which the track belongs is created.
    96 
    97 // local time
    98    inline G4double G4Track::GetLocalTime() const
    99    { return fLocalTime; }
    100 
    101    inline void G4Track::SetLocalTime(const G4double aValue)
    102    { fLocalTime = aValue; }
    103       // Time since the current track is created.
    104 
    105 // proper time
    106    inline G4double G4Track::GetProperTime() const
    107    { return fpDynamicParticle->GetProperTime(); }
    108 
    109    inline void G4Track::SetProperTime(const G4double aValue)
    110    { fpDynamicParticle->SetProperTime(aValue); }
    111       // Proper time of the current track
    112 
    113 // volume
    114    inline G4VPhysicalVolume* G4Track::GetVolume() const
    115    { if ( fpTouchable ==0 ) return 0;
    116      return fpTouchable->GetVolume(); }
    117 
    118    inline G4VPhysicalVolume* G4Track::GetNextVolume() const
    119    {  if ( fpNextTouchable ==0 ) return 0;
    120      return fpNextTouchable->GetVolume(); }
    121 
    122 // material
    123    inline
    124     const G4MaterialCutsCouple* G4Track::GetMaterialCutsCouple() const
    125    { return fpStep->GetPreStepPoint()->GetMaterialCutsCouple(); }
    126 
    127    inline
    128     const G4MaterialCutsCouple* G4Track::GetNextMaterialCutsCouple() const
    129    { return fpStep->GetPostStepPoint()->GetMaterialCutsCouple(); }
    130 
    131 // material
    132    inline G4Material* G4Track::GetMaterial() const
    133    { return fpStep->GetPreStepPoint()->GetMaterial(); }
    134 
    135    inline G4Material* G4Track::GetNextMaterial() const
    136    { return fpStep->GetPostStepPoint()->GetMaterial(); }
    137 
    138 
    139 // touchable
    140    inline const G4VTouchable* G4Track::GetTouchable() const
    141    {
    142      return fpTouchable();
    143    }
    144 
    145    inline const G4TouchableHandle& G4Track::GetTouchableHandle() const
    146    {
    147      return fpTouchable;
    148    }
    149 
    150    inline void G4Track::SetTouchableHandle( const G4TouchableHandle& apValue)
    151    {
    152      fpTouchable = apValue;
    153    }
    154 
    155    inline const  G4VTouchable* G4Track::GetNextTouchable() const
    156    {
    157      return fpNextTouchable();
    158    }
    159 
    160    inline const  G4TouchableHandle& G4Track::GetNextTouchableHandle() const
    161    {
    162      return fpNextTouchable;
    163    }
    164 
    165    inline void G4Track::SetNextTouchableHandle( const G4TouchableHandle& apValue)
    166    {
    167      fpNextTouchable = apValue;
    168    }
    169 
    170 
    171 // kinetic energy
    172    inline G4double G4Track::GetKineticEnergy() const
    173    { return fpDynamicParticle->GetKineticEnergy(); }
    174 
    175    inline void G4Track::SetKineticEnergy(const G4double aValue)
    176    { fpDynamicParticle->SetKineticEnergy(aValue); }
    177 
    178 // total energy
    179    inline G4double G4Track::GetTotalEnergy() const
    180    { return fpDynamicParticle->GetTotalEnergy(); }
    181 
    182 // momentum
    183    inline G4ThreeVector G4Track::GetMomentum() const
    184    { return fpDynamicParticle->GetMomentum(); }
    185 
    186 // momentum (direction)
    187   inline const G4ThreeVector& G4Track::GetMomentumDirection() const
    188    { return fpDynamicParticle->GetMomentumDirection(); }
    189 
    190    inline void G4Track::SetMomentumDirection(const G4ThreeVector& aValue)
    191    { fpDynamicParticle->SetMomentumDirection(aValue) ;}
    192 
    193 // polarization
    194    inline const G4ThreeVector& G4Track::GetPolarization() const
    195    { return fpDynamicParticle->GetPolarization(); }
    196 
    197    inline void G4Track::SetPolarization(const G4ThreeVector& aValue)
    198    { fpDynamicParticle->SetPolarization(aValue.x(),
    199                                         aValue.y(),
    200                                         aValue.z()); }
    201 
    202 // track status
    203    inline G4TrackStatus G4Track::GetTrackStatus() const
    204    { return fTrackStatus; }
    205 
    206    inline void G4Track::SetTrackStatus(const G4TrackStatus aTrackStatus)
    207    { fTrackStatus = aTrackStatus; }
    208 
    209 // track length
    210    inline G4double G4Track::GetTrackLength() const
    211    { return fTrackLength; }
    212 
    213    inline void G4Track::AddTrackLength(const G4double aValue)
    214    { fTrackLength += aValue; }
    215       // Accumulated track length
    216 
    217 // step number
    218    inline G4int G4Track::GetCurrentStepNumber() const
    219    { return fCurrentStepNumber; }
    220 
    221    inline void G4Track::IncrementCurrentStepNumber()
    222    { fCurrentStepNumber++; }
    223 
    224 // step length
    225    inline G4double G4Track::GetStepLength() const
    226    { return fStepLength; }
    227 
    228    inline void G4Track::SetStepLength(G4double value)
    229    { fStepLength = value; }
    230 
    231 // vertex (where this track was created) information
    232    inline const G4ThreeVector& G4Track::GetVertexPosition() const
    233    { return fVtxPosition; }
    234 
    235    inline void G4Track::SetVertexPosition(const G4ThreeVector& aValue)
    236    { fVtxPosition = aValue; }
    237 
    238    inline const G4ThreeVector& G4Track::GetVertexMomentumDirection() const
    239    { return fVtxMomentumDirection; }
    240    inline void G4Track::SetVertexMomentumDirection(const G4ThreeVector& aValue)
    241    { fVtxMomentumDirection = aValue ;}
    242 
    243    inline G4double G4Track::GetVertexKineticEnergy() const
    244    { return fVtxKineticEnergy; }
    245 
    246    inline void G4Track::SetVertexKineticEnergy(const G4double aValue)
    247    { fVtxKineticEnergy = aValue; }
    248 
    249    inline  const G4LogicalVolume* G4Track::GetLogicalVolumeAtVertex() const
    250    { return fpLVAtVertex; }
    251 
    252    inline void G4Track::SetLogicalVolumeAtVertex(const G4LogicalVolume* aValue)
    253    { fpLVAtVertex = aValue; }
    254 
    255    inline const G4VProcess* G4Track::GetCreatorProcess() const
    256    { return fpCreatorProcess; }
    257      // If the pointer is 0, this means the track is created
    258      // by the event generator, i.e. the primary track.If it is not
    259      // 0, it points to the process which created this track.
    260 
    261    inline void G4Track::SetCreatorProcess(const G4VProcess* aValue)
    262    { fpCreatorProcess = aValue; }
    263 
    264 // flag for "Below Threshold"
    265    inline G4bool G4Track::IsBelowThreshold() const
    266    { return fBelowThreshold; }
    267 
    268    inline void    G4Track::SetBelowThresholdFlag(G4bool value)
    269    { fBelowThreshold = value; }
    270 
    271 // flag for " Good for Tracking"
    272    inline G4bool  G4Track::IsGoodForTracking() const
    273    { return fGoodForTracking; }
    274 
    275    inline void    G4Track::SetGoodForTrackingFlag(G4bool value)
    276    { fGoodForTracking = value; }
    277 
    278 // track weight
    279    inline void  G4Track::SetWeight(G4double aValue)
    280    { fWeight = aValue; }
    281 
    282    inline G4double G4Track::GetWeight() const
    283    { return fWeight; }
    284 
    285 // user information
    286    inline G4VUserTrackInformation* G4Track::GetUserInformation() const
    287    { return fpUserInformation; }
    288    inline void G4Track::SetUserInformation(G4VUserTrackInformation* aValue)
    289    { fpUserInformation = aValue; }
    290 
    291 
    29240
    29341//-------------------------------------------------------------
     
    29846#include "G4Step.hh"
    29947
     48// Operators
     49
     50   inline void* G4Track::operator new(size_t)
     51   { void *aTrack;
     52     aTrack = (void *) aTrackAllocator.MallocSingle();
     53     return aTrack;
     54   }
     55      // Override "new" for "G4Allocator".
     56
     57   inline void G4Track::operator delete(void *aTrack)
     58   { aTrackAllocator.FreeSingle((G4Track *) aTrack);}
     59      // Override "delete" for "G4Allocator".
     60
     61   inline G4bool G4Track::operator==( const G4Track& s)
     62   { return (this==&s);  }
     63      // Define "==" operator because "G4TrackVector" uses
     64      // "RWPtrOrderdVector" which requires this.
     65
     66// Get/Set functions
     67// dynamic particle
     68   inline const G4DynamicParticle* G4Track::GetDynamicParticle() const
     69   { return fpDynamicParticle; }
     70
     71// particle definition
     72   inline G4ParticleDefinition* G4Track::GetDefinition() const
     73   { return fpDynamicParticle->GetDefinition(); }
     74
     75// particle definition
     76   inline const G4ParticleDefinition* G4Track::GetParticleDefinition() const
     77   { return fpDynamicParticle->GetParticleDefinition(); }
     78
     79// parent track ID
     80   inline G4int G4Track::GetParentID() const
     81   { return fParentID; }
     82
     83   inline void G4Track::SetParentID(const G4int aValue)
     84   { fParentID = aValue; }
     85
     86// current track ID
     87   inline G4int G4Track::GetTrackID() const
     88   { return fTrackID; }
     89
     90   inline void G4Track::SetTrackID(const G4int aValue)
     91   { fTrackID = aValue; }
     92
     93// position
     94   inline const G4ThreeVector& G4Track::GetPosition() const
     95   { return fPosition; }
     96
     97   inline void G4Track::SetPosition(const G4ThreeVector& aValue)
     98   { fPosition = aValue; }
     99
     100// global time
     101   inline G4double G4Track::GetGlobalTime() const
     102   { return fGlobalTime; }
     103
     104   inline void G4Track::SetGlobalTime(const G4double aValue)
     105   { fGlobalTime = aValue; }
     106     // Time since the event in which the track belongs is created.
     107
     108// local time
     109   inline G4double G4Track::GetLocalTime() const
     110   { return fLocalTime; }
     111
     112   inline void G4Track::SetLocalTime(const G4double aValue)
     113   { fLocalTime = aValue; }
     114      // Time since the current track is created.
     115
     116// proper time
     117   inline G4double G4Track::GetProperTime() const
     118   { return fpDynamicParticle->GetProperTime(); }
     119
     120   inline void G4Track::SetProperTime(const G4double aValue)
     121   { fpDynamicParticle->SetProperTime(aValue); }
     122      // Proper time of the current track
     123
     124// volume
     125   inline G4VPhysicalVolume* G4Track::GetVolume() const
     126   { if ( fpTouchable ==0 ) return 0;
     127     return fpTouchable->GetVolume(); }
     128
     129   inline G4VPhysicalVolume* G4Track::GetNextVolume() const
     130   {  if ( fpNextTouchable ==0 ) return 0;
     131     return fpNextTouchable->GetVolume(); }
     132
     133// material
     134   inline
     135    const G4MaterialCutsCouple* G4Track::GetMaterialCutsCouple() const
     136   { return fpStep->GetPreStepPoint()->GetMaterialCutsCouple(); }
     137
     138   inline
     139    const G4MaterialCutsCouple* G4Track::GetNextMaterialCutsCouple() const
     140   { return fpStep->GetPostStepPoint()->GetMaterialCutsCouple(); }
     141
     142// material
     143   inline G4Material* G4Track::GetMaterial() const
     144   { return fpStep->GetPreStepPoint()->GetMaterial(); }
     145
     146   inline G4Material* G4Track::GetNextMaterial() const
     147   { return fpStep->GetPostStepPoint()->GetMaterial(); }
     148
     149
     150// touchable
     151   inline const G4VTouchable* G4Track::GetTouchable() const
     152   {
     153     return fpTouchable();
     154   }
     155
     156   inline const G4TouchableHandle& G4Track::GetTouchableHandle() const
     157   {
     158     return fpTouchable;
     159   }
     160
     161   inline void G4Track::SetTouchableHandle( const G4TouchableHandle& apValue)
     162   {
     163     fpTouchable = apValue;
     164   }
     165
     166   inline const  G4VTouchable* G4Track::GetNextTouchable() const
     167   {
     168     return fpNextTouchable();
     169   }
     170
     171   inline const  G4TouchableHandle& G4Track::GetNextTouchableHandle() const
     172   {
     173     return fpNextTouchable;
     174   }
     175
     176   inline void G4Track::SetNextTouchableHandle( const G4TouchableHandle& apValue)
     177   {
     178     fpNextTouchable = apValue;
     179   }
     180
     181
     182// kinetic energy
     183   inline G4double G4Track::GetKineticEnergy() const
     184   { return fpDynamicParticle->GetKineticEnergy(); }
     185
     186   inline void G4Track::SetKineticEnergy(const G4double aValue)
     187   { fpDynamicParticle->SetKineticEnergy(aValue); }
     188
     189// total energy
     190   inline G4double G4Track::GetTotalEnergy() const
     191   { return fpDynamicParticle->GetTotalEnergy(); }
     192
     193// momentum
     194   inline G4ThreeVector G4Track::GetMomentum() const
     195   { return fpDynamicParticle->GetMomentum(); }
     196
     197// momentum (direction)
     198  inline const G4ThreeVector& G4Track::GetMomentumDirection() const
     199   { return fpDynamicParticle->GetMomentumDirection(); }
     200
     201   inline void G4Track::SetMomentumDirection(const G4ThreeVector& aValue)
     202   { fpDynamicParticle->SetMomentumDirection(aValue) ;}
     203
     204// polarization
     205   inline const G4ThreeVector& G4Track::GetPolarization() const
     206   { return fpDynamicParticle->GetPolarization(); }
     207
     208   inline void G4Track::SetPolarization(const G4ThreeVector& aValue)
     209   { fpDynamicParticle->SetPolarization(aValue.x(),
     210                                        aValue.y(),
     211                                        aValue.z()); }
     212
     213// track status
     214   inline G4TrackStatus G4Track::GetTrackStatus() const
     215   { return fTrackStatus; }
     216
     217   inline void G4Track::SetTrackStatus(const G4TrackStatus aTrackStatus)
     218   { fTrackStatus = aTrackStatus; }
     219
     220// track length
     221   inline G4double G4Track::GetTrackLength() const
     222   { return fTrackLength; }
     223
     224   inline void G4Track::AddTrackLength(const G4double aValue)
     225   { fTrackLength += aValue; }
     226      // Accumulated track length
     227
     228// step number
     229   inline G4int G4Track::GetCurrentStepNumber() const
     230   { return fCurrentStepNumber; }
     231
     232   inline void G4Track::IncrementCurrentStepNumber()
     233   { fCurrentStepNumber++; }
     234
     235// step length
     236   inline G4double G4Track::GetStepLength() const
     237   { return fStepLength; }
     238
     239   inline void G4Track::SetStepLength(G4double value)
     240   { fStepLength = value; }
     241
     242// vertex (where this track was created) information
     243   inline const G4ThreeVector& G4Track::GetVertexPosition() const
     244   { return fVtxPosition; }
     245
     246   inline void G4Track::SetVertexPosition(const G4ThreeVector& aValue)
     247   { fVtxPosition = aValue; }
     248
     249   inline const G4ThreeVector& G4Track::GetVertexMomentumDirection() const
     250   { return fVtxMomentumDirection; }
     251   inline void G4Track::SetVertexMomentumDirection(const G4ThreeVector& aValue)
     252   { fVtxMomentumDirection = aValue ;}
     253
     254   inline G4double G4Track::GetVertexKineticEnergy() const
     255   { return fVtxKineticEnergy; }
     256
     257   inline void G4Track::SetVertexKineticEnergy(const G4double aValue)
     258   { fVtxKineticEnergy = aValue; }
     259
     260   inline  const G4LogicalVolume* G4Track::GetLogicalVolumeAtVertex() const
     261   { return fpLVAtVertex; }
     262
     263   inline void G4Track::SetLogicalVolumeAtVertex(const G4LogicalVolume* aValue)
     264   { fpLVAtVertex = aValue; }
     265
     266   inline const G4VProcess* G4Track::GetCreatorProcess() const
     267   { return fpCreatorProcess; }
     268     // If the pointer is 0, this means the track is created
     269     // by the event generator, i.e. the primary track.If it is not
     270     // 0, it points to the process which created this track.
     271
     272   inline void G4Track::SetCreatorProcess(const G4VProcess* aValue)
     273   { fpCreatorProcess = aValue; }
     274
     275// flag for "Below Threshold"
     276   inline G4bool G4Track::IsBelowThreshold() const
     277   { return fBelowThreshold; }
     278
     279   inline void    G4Track::SetBelowThresholdFlag(G4bool value)
     280   { fBelowThreshold = value; }
     281
     282// flag for " Good for Tracking"
     283   inline G4bool  G4Track::IsGoodForTracking() const
     284   { return fGoodForTracking; }
     285
     286   inline void    G4Track::SetGoodForTrackingFlag(G4bool value)
     287   { fGoodForTracking = value; }
     288
     289// track weight
     290   inline void  G4Track::SetWeight(G4double aValue)
     291   { fWeight = aValue; }
     292
     293   inline G4double G4Track::GetWeight() const
     294   { return fWeight; }
     295
     296// user information
     297   inline G4VUserTrackInformation* G4Track::GetUserInformation() const
     298   { return fpUserInformation; }
     299   inline void G4Track::SetUserInformation(G4VUserTrackInformation* aValue)
     300   { fpUserInformation = aValue; }
     301
    300302   inline const G4Step* G4Track::GetStep() const
    301303   { return fpStep; }
    302304
    303305   inline void G4Track::SetStep(const G4Step* aValue)
    304    { fpStep = (aValue); }
    305 
    306 
    307 
    308 
    309 
     306   { fpStep = aValue; }
  • trunk/source/track/include/G4TrackVector.hh

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4TrackVector.hh,v 1.2 2006/07/17 13:48:28 asaim Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4TrackVector.hh,v 1.3 2010/10/18 23:52:04 kurasige Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//---------------------------------------------------------------
     
    4747
    4848#include <vector>
    49 //#include "G4Track.hh"              // Include form 'tracking'
    5049class G4Track;
     50class G4Step;
     51
    5152
    5253///////////////////////////////////////////////////
    53 typedef std::vector<G4Track*> G4TrackVector;
     54//typedef std::vector<G4Track*> G4TrackVector;
    5455///////////////////////////////////////////////////
     56class  G4TrackVector : public  std::vector<G4Track*>
     57{
     58  typedef G4Track* T;
     59
     60  // this class is used by G4Step!!!
     61  friend class G4Step;
     62  private:
     63  std::vector<const G4Track*> secondaryInCurrent;
     64 
     65
     66  public:
     67  virtual ~G4TrackVector(){
     68             secondaryInCurrent.clear();
     69          }
     70   
     71  void push_back( const T& x){
     72                std::vector<G4Track*>::push_back(x);
     73                secondaryInCurrent.push_back(x);
     74       }
     75
     76};
     77
    5578
    5679#endif
  • trunk/source/track/src/CVS/Entries

    r1337 r1340  
    1 /G4FieldTrackUpdator.cc/1.2/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-01
    2 /G4ParticleChange.cc/1.31/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-01
    3 /G4ParticleChangeForDecay.cc/1.11/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-01
    4 /G4ParticleChangeForGamma.cc/1.3/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-01
    5 /G4ParticleChangeForLoss.cc/1.17/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-01
    6 /G4ParticleChangeForMSC.cc/1.14/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-01
    7 /G4ParticleChangeForTransport.cc/1.19/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-01
    8 /G4Step.cc/1.7/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-01
    9 /G4StepPoint.cc/1.13/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-01
    10 /G4Track.cc/1.32/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-01
    11 /G4VParticleChange.cc/1.21/Thu Sep 30 06:16:11 2010//Tgeant4-09-04-beta-01
    12 /G4VUserTrackInformation.cc/1.4/Thu Sep 30 06:16:11 2010//Tgeant4-09-04-beta-01
     1/G4FieldTrackUpdator.cc/1.2/Thu Sep 30 06:16:10 2010//Ttrack-V09-03-09
     2/G4VUserTrackInformation.cc/1.4/Thu Sep 30 06:16:11 2010//Ttrack-V09-03-09
     3/G4ParticleChange.cc/1.32/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     4/G4ParticleChangeForDecay.cc/1.12/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     5/G4ParticleChangeForGamma.cc/1.4/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     6/G4ParticleChangeForLoss.cc/1.18/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     7/G4ParticleChangeForMSC.cc/1.15/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     8/G4ParticleChangeForTransport.cc/1.20/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     9/G4Step.cc/1.11/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     10/G4StepPoint.cc/1.15/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     11/G4Track.cc/1.35/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
     12/G4VParticleChange.cc/1.22/Fri Nov  5 10:05:20 2010//Ttrack-V09-03-09
    1313D
  • trunk/source/track/src/CVS/Tag

    r1331 r1340  
    1 Ngeant4-09-04-beta-01
     1Ntrack-V09-03-09
  • trunk/source/track/src/G4ParticleChange.cc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4ParticleChange.cc,v 1.31 2009/04/02 02:22:30 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParticleChange.cc,v 1.32 2010/07/21 09:30:15 gcosmo Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    5151#include "G4ExceptionSeverity.hh"
    5252
    53 
    54 G4ParticleChange::G4ParticleChange():G4VParticleChange()
     53G4ParticleChange::G4ParticleChange()
     54  : G4VParticleChange(), theEnergyChange(0.), theTimeChange(0.),
     55    theProperTimeChange(0.), theMassChange(0.), theChargeChange(0.),
     56    theMagneticMomentChange(0.), theCurrentTrack(0)
    5557{
    5658  G4VParticleChange::SetSecondaryWeightByProcess(false);
    5759  G4VParticleChange::SetParentWeightByProcess(false);
    58 
    5960}
    6061
     
    389390  G4VParticleChange::DumpInfo();
    390391
    391   G4cout.precision(3);
     392  G4int oldprc = G4cout.precision(3);
    392393
    393394  G4cout << "        Mass (GeV)   : "
     
    439440       << std::setw(20) <<  thePolarizationChange.z()
    440441       << G4endl;
     442  G4cout.precision(oldprc);
    441443}
    442444
  • trunk/source/track/src/G4ParticleChangeForDecay.cc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4ParticleChangeForDecay.cc,v 1.11 2006/06/29 21:15:03 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParticleChangeForDecay.cc,v 1.12 2010/07/21 09:30:15 gcosmo Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    4646#include "G4ExceptionSeverity.hh"
    4747
    48 G4ParticleChangeForDecay::G4ParticleChangeForDecay():G4VParticleChange()
     48G4ParticleChangeForDecay::G4ParticleChangeForDecay()
     49  : G4VParticleChange(), theTimeChange(0.)
    4950{
    5051#ifdef G4VERBOSE
     
    159160  G4VParticleChange::DumpInfo();
    160161
    161   G4cout.precision(3);
     162  G4int oldprc = G4cout.precision(3);
    162163  G4cout << "        Time (ns)           : "
    163        << std::setw(20) << theTimeChange/ns
    164        << G4endl;
     164         << std::setw(20) << theTimeChange/ns << G4endl;
     165  G4cout.precision(oldprc);
    165166}
    166167
  • trunk/source/track/src/G4ParticleChangeForGamma.cc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4ParticleChangeForGamma.cc,v 1.3 2006/08/28 16:10:29 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParticleChangeForGamma.cc,v 1.4 2010/07/21 09:30:15 gcosmo Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    4747#include "G4ExceptionSeverity.hh"
    4848
    49 G4ParticleChangeForGamma::G4ParticleChangeForGamma():G4VParticleChange()
     49G4ParticleChangeForGamma::G4ParticleChangeForGamma()
     50 : G4VParticleChange(), currentTrack(0), proposedKinEnergy(0.)
    5051{
    5152  theSteppingControlFlag = NormalCondition;
     
    112113  G4VParticleChange::DumpInfo();
    113114
    114   G4cout.precision(3);
     115  G4int oldprc = G4cout.precision(3);
    115116  G4cout << "        Kinetic Energy (MeV): "
    116117       << std::setw(20) << proposedKinEnergy/MeV
     
    122123       << std::setw(20) << proposedPolarization
    123124       << G4endl;
     125  G4cout.precision(oldprc);
    124126}
    125127
  • trunk/source/track/src/G4ParticleChangeForLoss.cc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4ParticleChangeForLoss.cc,v 1.17 2009/05/26 13:19:41 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParticleChangeForLoss.cc,v 1.18 2010/07/21 09:30:15 gcosmo Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    5050
    5151G4ParticleChangeForLoss::G4ParticleChangeForLoss()
    52   :G4VParticleChange(), lowEnergyLimit(1.0*eV)
     52  : G4VParticleChange(), currentTrack(0), proposedKinEnergy(0.),
     53    lowEnergyLimit(1.0*eV), currentCharge(0.)
    5354{
    5455  theSteppingControlFlag = NormalCondition;
     
    7071}
    7172
    72 G4ParticleChangeForLoss::G4ParticleChangeForLoss(
    73              const G4ParticleChangeForLoss &right): G4VParticleChange(right)
     73G4ParticleChangeForLoss::
     74G4ParticleChangeForLoss(const G4ParticleChangeForLoss &right)
     75  : G4VParticleChange(right)
    7476{
    7577  if (verboseLevel>1) {
     
    7880  currentTrack = right.currentTrack;
    7981  proposedKinEnergy = right.proposedKinEnergy;
     82  lowEnergyLimit = right.lowEnergyLimit;
    8083  currentCharge = right.currentCharge;
    8184  proposedMomentumDirection = right.proposedMomentumDirection;
     
    115118  G4VParticleChange::DumpInfo();
    116119
    117   G4cout.precision(3);
     120  G4int oldprc = G4cout.precision(3);
    118121  G4cout << "        Charge (eplus)   : "
    119122       << std::setw(20) << currentCharge/eplus
     
    131134       << std::setw(20) << proposedMomentumDirection.z()
    132135       << G4endl;
     136  G4cout.precision(oldprc);
    133137}
    134138
  • trunk/source/track/src/G4ParticleChangeForMSC.cc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4ParticleChangeForMSC.cc,v 1.14 2009/04/02 02:22:30 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParticleChangeForMSC.cc,v 1.15 2010/07/21 09:30:15 gcosmo Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    4545#include "G4ExceptionSeverity.hh"
    4646
    47 G4ParticleChangeForMSC::G4ParticleChangeForMSC():G4VParticleChange()
     47G4ParticleChangeForMSC::G4ParticleChangeForMSC()
     48  : G4VParticleChange()
    4849{
    4950#ifdef G4VERBOSE
     
    6364}
    6465
    65 G4ParticleChangeForMSC::G4ParticleChangeForMSC(
    66              const G4ParticleChangeForMSC &right): G4VParticleChange(right)
     66G4ParticleChangeForMSC::
     67G4ParticleChangeForMSC(const G4ParticleChangeForMSC &right)
     68  : G4VParticleChange(right)
    6769{
    6870   if (verboseLevel>1) {
     
    133135  G4VParticleChange::DumpInfo();
    134136
    135   G4cout.precision(3);
     137  G4int oldprc = G4cout.precision(3);
    136138  G4cout << "        Position - x (mm)   : "
    137139       << std::setw(20) << thePosition.x()/mm
     
    152154       << std::setw(20) << theMomentumDirection.z()
    153155       << G4endl;
     156  G4cout.precision(oldprc);
    154157}
    155158
  • trunk/source/track/src/G4ParticleChangeForTransport.cc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4ParticleChangeForTransport.cc,v 1.19 2006/11/03 17:45:04 japost Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParticleChangeForTransport.cc,v 1.20 2010/07/21 09:30:15 gcosmo Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    4747#include "G4DynamicParticle.hh"
    4848
    49 G4ParticleChangeForTransport::G4ParticleChangeForTransport():G4ParticleChange()
     49G4ParticleChangeForTransport::G4ParticleChangeForTransport()
     50  : G4ParticleChange(), isMomentumChanged(false), theMaterialChange(0),
     51    theMaterialCutsCoupleChange(0), theSensitiveDetectorChange(0)
    5052{
    5153  if (verboseLevel>2) {
    52     G4cout << "G4ParticleChangeForTransport::G4ParticleChangeForTransport() " << G4endl;
     54    G4cout << "G4ParticleChangeForTransport::G4ParticleChangeForTransport() "
     55           << G4endl;
    5356  }
    5457}
     
    5760{
    5861  if (verboseLevel>2) {
    59     G4cout << "G4ParticleChangeForTransport::~G4ParticleChangeForTransport() " << G4endl;
    60   }
    61 }
    62 
    63 
    64 G4ParticleChangeForTransport::G4ParticleChangeForTransport(const G4ParticleChangeForTransport &right):G4ParticleChange(right)
     62    G4cout << "G4ParticleChangeForTransport::~G4ParticleChangeForTransport() "
     63           << G4endl;
     64  }
     65}
     66
     67G4ParticleChangeForTransport::
     68G4ParticleChangeForTransport(const G4ParticleChangeForTransport &r)
     69  : G4ParticleChange(r)
    6570{
    6671  if (verboseLevel>0) {
    67     G4cout << "G4ParticleChangeForTransport::  copy constructor is called " << G4endl;
    68   }
    69   theTouchableHandle = right.theTouchableHandle;
     72    G4cout << "G4ParticleChangeForTransport::  copy constructor is called "
     73           << G4endl;
     74  }
     75  theTouchableHandle = r.theTouchableHandle;
     76  isMomentumChanged = r.isMomentumChanged;
     77  theMaterialChange = r.theMaterialChange;
     78  theMaterialCutsCoupleChange = r.theMaterialCutsCoupleChange;
     79  theSensitiveDetectorChange = r.theSensitiveDetectorChange;
    7080}
    7181
    7282// assignemnt operator
    73 G4ParticleChangeForTransport & G4ParticleChangeForTransport::operator=(const G4ParticleChangeForTransport &right)
     83G4ParticleChangeForTransport &
     84G4ParticleChangeForTransport::operator=(const G4ParticleChangeForTransport &r)
    7485{
    7586   if (verboseLevel>1) {
    76     G4cout << "G4ParticleChangeForTransport:: assignment operator is called " << G4endl;
     87    G4cout << "G4ParticleChangeForTransport:: assignment operator is called "
     88           << G4endl;
    7789   }
    78    if (this != &right)
     90   if (this != &r)
    7991   {
    80       theListOfSecondaries = right.theListOfSecondaries;
    81       theSizeOftheListOfSecondaries = right.theSizeOftheListOfSecondaries;
    82       theNumberOfSecondaries = right.theNumberOfSecondaries;
    83       theStatusChange = right.theStatusChange;
    84       theTouchableHandle = right.theTouchableHandle;
    85       theMaterialChange = right.theMaterialChange;
    86       theMaterialCutsCoupleChange = right.theMaterialCutsCoupleChange;
    87       theSensitiveDetectorChange = right.theSensitiveDetectorChange;
    88       theMomentumDirectionChange = right.theMomentumDirectionChange;
    89       thePolarizationChange = right.thePolarizationChange;
    90       thePositionChange = right.thePositionChange;
    91       theTimeChange = right.theTimeChange;
    92       theEnergyChange = right.theEnergyChange;
    93       theTrueStepLength = right.theTrueStepLength;
    94       theLocalEnergyDeposit = right.theLocalEnergyDeposit;
    95       theSteppingControlFlag = right.theSteppingControlFlag;
     92      theListOfSecondaries = r.theListOfSecondaries;
     93      theSizeOftheListOfSecondaries = r.theSizeOftheListOfSecondaries;
     94      theNumberOfSecondaries = r.theNumberOfSecondaries;
     95      theStatusChange = r.theStatusChange;
     96      theTouchableHandle = r.theTouchableHandle;
     97      theMaterialChange = r.theMaterialChange;
     98      theMaterialCutsCoupleChange = r.theMaterialCutsCoupleChange;
     99      theSensitiveDetectorChange = r.theSensitiveDetectorChange;
     100      theMomentumDirectionChange = r.theMomentumDirectionChange;
     101      thePolarizationChange = r.thePolarizationChange;
     102      thePositionChange = r.thePositionChange;
     103      theTimeChange = r.theTimeChange;
     104      theEnergyChange = r.theEnergyChange;
     105      theTrueStepLength = r.theTrueStepLength;
     106      theLocalEnergyDeposit = r.theLocalEnergyDeposit;
     107      theSteppingControlFlag = r.theSteppingControlFlag;
    96108   }
    97109   return *this;
     
    106118  // Nothing happens for AtRestDoIt
    107119  if (verboseLevel>0) {
    108     G4cout << "G4ParticleChangeForTransport::UpdateStepForAtRest() is called" << G4endl;
     120    G4cout << "G4ParticleChangeForTransport::UpdateStepForAtRest() is called"
     121           << G4endl;
    109122    G4cout << " Nothing happens for this method " << G4endl;
    110123  }
     
    236249  G4ParticleChange::DumpInfo();
    237250
    238   G4cout.precision(3);
     251  G4int oldprc = G4cout.precision(3);
    239252  G4cout << "        Touchable (pointer) : "
    240        << std::setw(20) << theTouchableHandle()
    241        << G4endl;
    242 }
    243 
    244 
    245 
    246 
    247 
    248 
    249 
    250 
     253         << std::setw(20) << theTouchableHandle() << G4endl;
     254  G4cout.precision(oldprc);
     255}
  • trunk/source/track/src/G4Step.cc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4Step.cc,v 1.7 2006/10/30 09:50:13 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4Step.cc,v 1.11 2010/10/30 07:49:08 kurasige Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    5454G4Step::G4Step()
    5555////////////////
     56  :  fTotalEnergyDeposit(0.0),fNonIonizingEnergyDeposit(0.0),
     57     fStepLength(0.), fpTrack(0),
     58     fpSteppingControlFlag(NormalCondition),fSecondary(0),
     59     fpVectorOfAuxiliaryPointsPointer(0)
    5660{
    5761  fpPreStepPoint  = new G4StepPoint();
     
    6973  delete fpPostStepPoint;
    7074}
     75
     76
     77/////////////////
     78G4ThreeVector G4Step::GetDeltaMomentum() const
     79/////////////////
     80{
     81  static G4bool isFirstTime = true;
     82  if (isFirstTime) {
     83    isFirstTime = false;
     84#ifdef G4VERBOSE
     85    G4Exception( "G4Step::GetDeltaMomentum()","Warning", JustWarning,
     86                 "This method is obsolete and will be removed soon");
     87#endif
     88  }
     89
     90  return fpPostStepPoint->GetMomentum()
     91    - fpPreStepPoint->GetMomentum();
     92}
     93
     94/////////////////
     95G4double G4Step::GetDeltaEnergy() const
     96  /////////////////
     97{
     98  static G4bool isFirstTime = true;
     99  if (isFirstTime) {
     100    isFirstTime = false;
     101#ifdef G4VERBOSE
     102    G4Exception( "G4Step::GetDeltaEnergy()","Warning", JustWarning,
     103                 "This method is obsolete and will be removed soon");
     104#endif
     105  }
     106
     107  return fpPostStepPoint->GetKineticEnergy()
     108    - fpPreStepPoint->GetKineticEnergy();
     109}
  • trunk/source/track/src/G4StepPoint.cc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4StepPoint.cc,v 1.13 2007/03/11 07:19:06 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4StepPoint.cc,v 1.15 2010/10/30 07:49:09 kurasige Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    4747
    4848//////////////////////////
    49 G4StepPoint::G4StepPoint():
     49G4StepPoint::G4StepPoint()
    5050//////////////////////////
    51   fpTouchable(0), fpMaterial(0), fpMaterialCutsCouple(0), fpSensitiveDetector(0),
    52   fpProcessDefinedStep(0), fCharge(0.)
     51  : fGlobalTime(0.), fLocalTime(0.), fProperTime(0.),
     52    fKineticEnergy(0.), fVelocity(0.), fpTouchable(0), fpMaterial(0),
     53    fpMaterialCutsCouple(0), fpSensitiveDetector(0), fSafety(0.),
     54    fStepStatus(fUndefined),fpProcessDefinedStep(0),
     55    fMass(0.), fCharge(0.), fMagneticMoment(0.),
     56    fWeight(0.)
    5357{
    5458}
  • trunk/source/track/src/G4Track.cc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4Track.cc,v 1.32 2009/04/08 08:07:24 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4Track.cc,v 1.35 2010/09/21 00:33:05 kurasige Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    4141
    4242#include "G4Track.hh"
     43#include "G4ParticleTable.hh"
    4344
    4445G4Allocator<G4Track> aTrackAllocator;
     46
     47G4PhysicsLogVector* G4Track::velTable = 0;
     48
     49const G4double G4Track::maxT = 100.0;
     50const G4double G4Track::minT = 0.0001;
    4551
    4652///////////////////////////////////////////////////////////
     
    6066    fVtxKineticEnergy(0.0),
    6167    fpLVAtVertex(0),          fpCreatorProcess(0),
    62     fpUserInformation(0)
     68    fpUserInformation(0),
     69    prev_mat(0),  groupvel(0),
     70    prev_velocity(0.0), prev_momentum(0.0),
     71    is_OpticalPhoton(false)
    6372{   
     73  static G4bool isFirstTime = true;
     74  static G4ParticleDefinition* fOpticalPhoton =0;
     75  if ( isFirstTime ) {
     76    isFirstTime = false;
     77    // set  fOpticalPhoton
     78    fOpticalPhoton = G4ParticleTable::GetParticleTable()->FindParticle("opticalphoton");
     79  }
     80  // check if the particle type is Optical Photon
     81  is_OpticalPhoton = (fpDynamicParticle->GetDefinition() == fOpticalPhoton);
     82
     83  if (velTable==0) PrepareVelocityTable();
    6484}
    6585
     
    7898    fVtxKineticEnergy(0.0),
    7999    fpLVAtVertex(0),          fpCreatorProcess(0),
    80     fpUserInformation(0)
     100    fpUserInformation(0),
     101    prev_mat(0),  groupvel(0),
     102    prev_velocity(0.0), prev_momentum(0.0),
     103    is_OpticalPhoton(false)
    81104{
    82105}
     
    84107G4Track::G4Track(const G4Track& right)
    85108//////////////////
     109  : fCurrentStepNumber(0),   
     110    fGlobalTime(0),           fLocalTime(0.),
     111    fTrackLength(0.),
     112    fParentID(0),             fTrackID(0),
     113    fpDynamicParticle(0),
     114    fTrackStatus(fAlive),
     115    fBelowThreshold(false),   fGoodForTracking(false),
     116    fStepLength(0.0),         fWeight(1.0),
     117    fpStep(0),
     118    fVtxKineticEnergy(0.0),
     119    fpLVAtVertex(0),          fpCreatorProcess(0),
     120    fpUserInformation(0),
     121    prev_mat(0),  groupvel(0),
     122    prev_velocity(0.0), prev_momentum(0.0),
     123    is_OpticalPhoton(false)
    86124{
    87125  *this = right;
     
    136174   fpCreatorProcess = 0;
    137175   fpUserInformation = 0;
     176
     177   prev_mat = right.prev_mat;
     178   groupvel = right.groupvel;
     179   prev_velocity = right.prev_velocity;
     180   prev_momentum = right.prev_momentum;
     181
     182   is_OpticalPhoton = right.is_OpticalPhoton;
     183
    138184  }
    139185  return *this;
     
    147193}
    148194
    149 #include "G4ParticleTable.hh"
    150195///////////////////
    151196G4double G4Track::GetVelocity() const
    152197///////////////////
    153198{
    154   static G4bool isFirstTime = true;
    155   static G4ParticleDefinition* fOpticalPhoton =0;
    156  
    157   static G4Material*               prev_mat =0;
    158   static G4MaterialPropertyVector* groupvel =0;
    159   static G4double                  prev_velocity =0;
    160   static G4double                  prev_momentum =0;
    161  
    162 
    163   if ( isFirstTime ) {
    164     isFirstTime = false;
    165     // set  fOpticalPhoton
    166     fOpticalPhoton = G4ParticleTable::GetParticleTable()->FindParticle("opticalphoton");
    167   }
    168 
    169   G4double velocity ;
     199   
     200  G4double velocity = c_light ;
    170201 
    171202  G4double mass = fpDynamicParticle->GetMass();
    172203
    173   velocity = c_light ;
    174 
    175204  // special case for photons
    176   if (  (fOpticalPhoton !=0)  &&
    177         (fpDynamicParticle->GetDefinition()==fOpticalPhoton) ){
     205  if ( is_OpticalPhoton ) {
    178206
    179207    G4Material* mat=0;
     
    187215    }
    188216    // check if previous step is in the same volume
    189     //  and get new GROUPVELOVITY table if necessary
    190     if ((mat != prev_mat)||(groupvel==0)) {
     217    //  and get new GROUPVELOCITY table if necessary
     218    if ((mat != 0) && ((mat != prev_mat)||(groupvel==0))) {
    191219        groupvel = 0;
    192220        if(mat->GetMaterialPropertiesTable() != 0)
     
    203231        // check if momentum is same as in the previous step
    204232        //  and calculate group velocity if necessary
    205         if( update_groupvel || (fpDynamicParticle->GetTotalMomentum() != prev_momentum) ) {
     233        G4double current_momentum = fpDynamicParticle->GetTotalMomentum();
     234        if( update_groupvel || (current_momentum != prev_momentum) ) {
    206235          velocity =
    207             groupvel->GetProperty(fpDynamicParticle->GetTotalMomentum());
    208            prev_velocity = velocity;
    209           prev_momentum = fpDynamicParticle->GetTotalMomentum();
     236            groupvel->GetProperty(current_momentum);
     237          prev_velocity = velocity;
     238          prev_momentum = current_momentum;
    210239        }
    211240    }
    212241
    213242  } else {
     243    // particles other than optical photon
    214244    if (mass<DBL_MIN) {
     245      // Zero Mass
    215246      velocity = c_light;
    216247    } else {
    217       G4double T = fpDynamicParticle->GetKineticEnergy();
    218       velocity = c_light*std::sqrt(T*(T+2.*mass))/(T+mass);
    219     }
     248      G4double T = (fpDynamicParticle->GetKineticEnergy())/mass;
     249      if (T > maxT) {
     250        velocity = c_light;
     251      } else if (T<DBL_MIN) {
     252        velocity =0.;
     253      } else if (T<minT) {
     254        velocity = c_light*std::sqrt(T*(T+2.))/(T+1.0);
     255      } else { 
     256        velocity = velTable->Value(T);
     257      }
     258    }
     259     
    220260  }
    221261                                                                               
    222262  return velocity ;
    223263}
     264
     265///////////////////
     266void G4Track::PrepareVelocityTable()
     267///////////////////
     268{
     269  const G4int NBIN=300;
     270  velTable = new G4PhysicsLogVector(minT, maxT, NBIN);
     271  for (G4int i=0; i<=NBIN; i++){
     272    G4double T = velTable->Energy(i);
     273    velTable->PutValue(i, c_light*std::sqrt(T*(T+2.))/(T+1.0) );
     274  }
     275  return;
     276}
  • trunk/source/track/src/G4VParticleChange.cc

    r1337 r1340  
    2525//
    2626//
    27 // $Id: G4VParticleChange.cc,v 1.21 2009/04/02 02:22:30 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4VParticleChange.cc,v 1.22 2010/07/21 09:30:15 gcosmo Exp $
     28// GEANT4 tag $Name: track-V09-03-09 $
    2929//
    3030//
     
    5353   theLocalEnergyDeposit(0.0),
    5454   theNonIonizingEnergyDeposit(0.0),
     55   theTrueStepLength(0.0),
    5556   theFirstStepInVolume(false),
    5657   theLastStepInVolume(false),
     
    163164
    164165// Show header
    165   G4cout.precision(3);
     166  G4int olprc = G4cout.precision(3);
    166167  G4cout << "      -----------------------------------------------"
    167168       << G4endl;
     
    220221    G4cout << "    Last Step In the voulme  : "  << G4endl;
    221222  }
     223  G4cout.precision(olprc);
    222224}
    223225
Note: See TracChangeset for help on using the changeset viewer.