Changeset 1340 for trunk/source/track
- Timestamp:
- Nov 5, 2010, 3:45:55 PM (14 years ago)
- Location:
- trunk/source/track
- Files:
-
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/track/CVS/Entries
r1337 r1340 1 1 D/include//// 2 2 D/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 N geant4-09-04-beta-011 Ntrack-V09-03-09 -
trunk/source/track/GNUmakefile
r826 r1340 1 # $Id: GNUmakefile,v 1. 6 2006/04/28 13:45:48 asaimExp $1 # $Id: GNUmakefile,v 1.8 2010/10/27 07:53:29 gcosmo Exp $ 2 2 # ---------------------------------------------------------- 3 3 # GNUmakefile for track library. Gabriele Cosmo, 3/4/1997. -
trunk/source/track/History
r1315 r1340 1 $Id: History,v 1.1 08 2010/03/09 02:49:44kurasige Exp $1 $Id: History,v 1.118 2010/10/30 07:49:08 kurasige Exp $ 2 2 ------------------------------------------------------------------- 3 3 … … 17 17 * Reverse chronological order (last date on top), please * 18 18 ---------------------------------------------------------- 19 20 Oct. 30, 2010, H.Kurashige (track-V09-03-09) 21 - Fix minor bugs reported by Coverity 22 23 Oct. 27, 2010, G.Cosmo (track-V09-03-08) 24 - Restored DLL setup as originally. Withdrawn changes in last tag. 25 26 Oct. 19, 2010 G.Cosmo (track-V09-03-07) 27 - Replaced G4TRACK_ALLOC_EXPORT flag with G4ALLOC_EXPORT for DLL exported 28 symbols. 29 30 Oct. 18, 2010 Hisaya Kurashige (track-V09-03-06) 31 - Add GetSecondaryInCurrentStep method in G4Step. 32 It gives secondaries in the current step. 33 34 Oct. 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 38 Sep 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 42 Aug 12, 2010 Hisaya Kurashige (track-V09-03-03) 43 - Add G4Track::GetParticleDefinition giving 'const' pointer 44 45 July 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 57 July 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 19 61 Mar. 9, 2010 Hisaya Kurashige (track-V09-03-00) 20 62 - Change G4String to a pointer of G4String … … 27 69 28 70 29 Jun e18, 2009 Hisaya Kurashige (track-V09-02-03)71 Jun. 18, 2009 Hisaya Kurashige (track-V09-02-03) 30 72 -added SetLowEnergyLimit method (Vladimir) 31 73 … … 59 101 60 102 61 Mar 30, 07 Hisaya Kurashige (track-V08-02-02)103 Mar. 30, 07 Hisaya Kurashige (track-V08-02-02) 62 104 - Fix weight treatment in G4ParticleChange 63 105 64 Mar 26, 07 Hisaya Kurashige (track-V08-02-01)106 Mar. 26, 07 Hisaya Kurashige (track-V08-02-01) 65 107 - Added Non-Ionizing Energy Deposit in G4Step and G4VParticleChange 66 108 67 Mar 11, 07 Hisaya Kurashige (track-V08-02-00)109 Mar. 11, 07 Hisaya Kurashige (track-V08-02-00) 68 110 - Added magnetic moment in G4DynamicParticle (co-work with particles-V08-02-00) 69 111 - Fixed treatment of parent's weight in G4ParticleChange 70 112 71 Nov 3, 06 J.Apostolakis (track-V08-01-04)113 Nov. 3, 06 J.Apostolakis (track-V08-01-04) 72 114 - New methods first/lastStepInVolume flag in G4Step, G4VParticleChange by Hisaya 73 115 - Revised UpdateStepForPostStep by John Apostolakis 74 116 75 Oct 31, 06 G.Cosmo (track-V08-01-03)117 Oct. 31, 06 G.Cosmo (track-V08-01-03) 76 118 - Made operator=() inline. 77 119 78 Aug 29, 06 H.Kurashige (track-V08-01-02)120 Aug. 29, 06 H.Kurashige (track-V08-01-02) 79 121 - Add methods for setting polarization and modifying weight 80 122 for G4ParticleChangeFoeGamma and G4ParticleChangeForLoss 81 123 (V.Ivanchenko) 82 124 83 Jul y17, 06 M.Asai (track-V08-01-01)125 Jul. 17, 06 M.Asai (track-V08-01-01) 84 126 - Re-tagged for G4Step and G4TrackVector only. 85 127 86 Jun e09, 06 M.Asai (track-V08-01-00)128 Jun. 09, 06 M.Asai (track-V08-01-00) 87 129 - tagged for G4FieldTrackUpdator, G4Step and G4TrackVector. 88 130 89 Jun e09, 06 T.Sasaki131 Jun. 09, 06 T.Sasaki 90 132 - G4Step now has secondary vector 91 133 - G4TrackVector was moved from tracking category 92 134 93 Jun e09, 06 M.Asai135 Jun. 09, 06 M.Asai 94 136 - Introducing G4FieldTrackUpdator class. 95 137 - GNUmakefile now includes geometry/magneticfield 96 138 97 Jun e07, 06 V.Ivanchenko (track-V08-00-03)139 Jun. 07, 06 V.Ivanchenko (track-V08-00-03) 98 140 - G4ParticleChangeForLoss - remove momentum change AlongStep 99 141 … … 108 150 - G4ParticleChangeForRadDecay is now derived from G4ParticleChangeForDecay 109 151 110 Dec 05, 05 mma (track-V07-01-02)152 Dec. 05, 05 mma (track-V07-01-02) 111 153 - G4ParticleChangeForGamma : apply UpdateStepForPostStep in any case 112 154 113 Nov 26, 05 H.Kurashige (track-V07-01-01)155 Nov. 26, 05 H.Kurashige (track-V07-01-01) 114 156 - Fix GetVelocity : use the material pointer in PreStepPoint 115 157 … … 219 261 - Initial value for fCharge is given in the constuctor 220 262 of G4StepPoint. 263 221 264 Nov. 20, 02 G.Cosmo (track-V04-01-02) 222 265 - Patched access to public static data in G4VParticleChange. … … 281 324 - Clean up codes 282 325 283 Mar 7, 01 H.Kurashige (track-V03-00-04)326 Mar. 7, 01 H.Kurashige (track-V03-00-04) 284 327 - Add protection for the zero-momentum case 285 328 for UpdateStepForAlongStep in ParticleChange (J.A) 286 329 287 Feb 17, 01 H.Kurashige (track-V03-00-03)330 Feb. 17, 01 H.Kurashige (track-V03-00-03) 288 331 - Add Velocity and Setmethod in G4StepPoint 289 332 - Add SetVelocity in G4Step.::InitializeStep 290 333 - Modify G4StepPoint::GetVelocity to return correct velocity for optical photon 291 334 292 Feb 17, 01 H.Kurashige (track-V03-00-02)335 Feb. 17, 01 H.Kurashige (track-V03-00-02) 293 336 - Fix G4Track::GetVelocity for Gamma 294 337 295 Feb 12, 01 H.Kurashige (track-V03-00-01)338 Feb. 12, 01 H.Kurashige (track-V03-00-01) 296 339 - Remove thePolarizationChange from G4ParticleChangeForTransport.hh 297 340 298 341 299 Feb 07, 01 H.Kurashige (track-V03-00-00)342 Feb. 07, 01 H.Kurashige (track-V03-00-00) 300 343 - Add copy constructor to G4Track 301 344 302 Oct 19, 00 H.kurashige (track-V02-00-01)345 Oct. 19, 00 H.kurashige (track-V02-00-01) 303 346 - Bug fixes in copy constructor of G4ParticleChange 304 347 305 Oct 18, 00 H.Kurashige (track-V02-00-00)348 Oct. 18, 00 H.Kurashige (track-V02-00-00) 306 349 - Add "const" to G4DynamicParticle pointer of returned value of G4Track::GetDynamicParticle 307 350 308 Jun e2, 2000 M.Asai (track-V01-01-02)351 Jun. 2, 2000 M.Asai (track-V01-01-02) 309 352 - Add G4VUserTrackInformation class and its pointer data member in G4Track 310 353 - Add "const" to pointer to G4Step in G4Track (Hisaya) 311 354 312 Jun e1 2000 H.Kurashige (track-V01-01-01a)355 Jun. 1 2000 H.Kurashige (track-V01-01-01a) 313 356 - Removed "const" from the return value type of G4StepPoint::GetPhysicalVolume() 314 357 … … 324 367 - GetTouchable methods has been changed to give "const" pointer 325 368 326 Feb 13, 2000 H.Kurashige (track-V01-00-01)369 Feb. 13, 2000 H.Kurashige (track-V01-00-01) 327 370 - Added G4ParticleChangeForRadDecay 328 371 - Changed G4VParticleChange::AddSecondary to set secondary track weight equal to the primary's one 329 372 - Removed printing pointers of ParticleChange object in CheckIt methods 330 373 331 Jan 18, 2000 H.Kurashige (track-V01-00-00)374 Jan. 18, 2000 H.Kurashige (track-V01-00-00) 332 375 - Fixed bugs in treatment of secondary track weight 333 376 334 Nov 7, 1999 H.Kurashige (track-V00-01-01)377 Nov. 7, 1999 H.Kurashige (track-V00-01-01) 335 378 - Added comments for "Software Reference Manual" 336 379 337 Oct 5, 1999 H,Kurashige (track-V00-01-00)380 Oct. 5, 1999 H,Kurashige (track-V00-01-00) 338 381 - Added mass/charge change in G4ParticleChange 339 382 - Modified G4ParticleChange::CheckIt 340 383 - Separate implementation of inline functions to G4Track.icc and G4Step.icc 341 384 342 Jul y14 1999 H.Kurashige (track-01-00-07)385 Jul. 14 1999 H.Kurashige (track-01-00-07) 343 386 - Fixed bugs in G4Mars5GeVMechanism::CreatePion() 344 387 … … 346 389 - Modified CheckIt methods of G4VParticleChange and derived classes 347 390 348 Apr 28, 1999 H.Kurashige (track-01-00-05b)391 Apr. 28, 1999 H.Kurashige (track-01-00-05b) 349 392 - Protect proton mass against glanular libraly for G4Mars5Gev...(Makoto) 350 393 - Fixed error messages in G4ParticleChange::CheckIt (Hisaya) 351 394 - Remove "include/G4VProcess.hh" from G4Step.cc (Hisaya) 352 395 353 Apr 13, 1999 H.Kurashige (track-01-00-04)396 Apr. 13, 1999 H.Kurashige (track-01-00-04) 354 397 - Code polishing according to the messages by CodeWizard 355 398 - Added new virtual method of G4bool CheckIt(const G4Track&) in G4VParticleChange 356 399 357 Feb 17, 1999 H.Kurashige (track-01-00-03)400 Feb. 17, 1999 H.Kurashige (track-01-00-03) 358 401 - Removed G4Step::ShowStep() (Takashi) 359 402 - Fixed bugs in G4ParticleChange.icc (Hisaya) 360 403 361 Feb 9, 1999 H.Kurashige (track-01-00-02)404 Feb. 9, 1999 H.Kurashige (track-01-00-02) 362 405 - Modified G4TrackFastVector (Hisaya) 363 406 - Modified G4ParticleChange::CheckIt (Hisaya) 364 407 365 Feb 6, 1999 H.Kurashige (track-01-00-01)408 Feb. 6, 1999 H.Kurashige (track-01-00-01) 366 409 - Added Get/SetMomentumDirectionChange in G4ParticleChange (Hisaya) 367 410 - Removed using G4ParticleMomentum (Hisaya) 368 411 369 Dec ember15, 1998 H.Kurashige (track-00-04-05)412 Dec. 15, 1998 H.Kurashige (track-00-04-05) 370 413 - G4ParticleChange::CheckIt is activated in VERBOSE mode (Hisaya) 371 414 372 Dec ember12, 1998 H.Kurashige (track-00-04-04)415 Dec. 12, 1998 H.Kurashige (track-00-04-04) 373 416 - Fixed bugs in G4Mars5GeVMechanism (Hisaya) 374 417 - Added SwOnAllEB/SwOffAllEB in G4ParticleChange (Hisaya) 375 418 - Added GetEBMechanis and IsEBActive in G4VParticleChange (Hisaya) 376 419 377 Dec ember11, 1998 H.Kurashige (track-00-04-03)420 Dec. 11, 1998 H.Kurashige (track-00-04-03) 378 421 - Fixed bugs in G4Mars5GeVMechanism (Hisaya) 379 422 380 Dec ember9, 1998 L.Urban (track-00-04-02)423 Dec. 9, 1998 L.Urban (track-00-04-02) 381 424 - Added G4ParticleChangeForLoss and G4ParticleChangeForMSC. 382 425 383 Nov ember18, 98 H.Kurashige (track-00-04-01)A426 Nov. 18, 98 H.Kurashige (track-00-04-01)A 384 427 - Added new member of weight in G4Track and removed G4BiasingTag 385 428 - Added Event Biasing based on MARS … … 387 430 ( this tag requires particles-00-04-01 tag) 388 431 389 Nov ember9, 98 H.Kurashige (track-00-03-05)432 Nov. 9, 98 H.Kurashige (track-00-03-05) 390 433 - Added Event Biasing Mechanism in G4VParticleChange 391 434 392 Nov ember8, 98 H.Kurashige (track-00-03-04)435 Nov. 8, 98 H.Kurashige (track-00-03-04) 393 436 - Added G4BiasingTag as a member of G4Track 394 437 - Modified G4Step, and G4StepPoint for managing G4BiasingTag 395 438 396 Oct orber17, 98 H.Kurashige (track-00-03-03)439 Oct. 17, 98 H.Kurashige (track-00-03-03) 397 440 - Fixed bugs in G4VParticleChange and G4ParticleChange 398 441 399 Oct ober14 19 H.Kurashige (track-00-03-01)442 Oct. 14 19 H.Kurashige (track-00-03-01) 400 443 - Modified G4ParticleChangeForTransportation for new relocation algorism. 401 444 (J.Apost.) 402 445 403 Aug ust31, 98 G.Cosmo (track-00-02-01)446 Aug. 31, 98 G.Cosmo (track-00-02-01) 404 447 - Added "global" phony target to GNUmakefile. 405 448 - Added comment to G4StepPoint.hh (J.Apostolakis). 406 449 407 Jul y20,98 H.Kurashige (track-00-01-05)450 Jul. 20,98 H.Kurashige (track-00-01-05) 408 451 - Modified G4ParticleChangeForDecay 409 452 410 Jul y10, 98 P.Urban (track-00-01-02)453 Jul. 10, 98 P.Urban (track-00-01-02) 411 454 - Optimised G4ParticleChangeForTransport. Much less data 412 455 is copied -> increased performance. 413 456 414 Jul y1, 98 H.Kurashige (track-00-07-02)457 Jul. 1, 98 H.Kurashige (track-00-07-02) 415 458 - Moved UpdateStepForAlongStep into G4ParticleChangeForTransport.cc file 416 459 417 Jun e30, 98 P. Urban (track-00-07-01)460 Jun. 30, 98 P. Urban (track-00-07-01) 418 461 - Some more tracking optimisation results. 419 462 420 Jun e22, 98 P. Urban (track-00-06-04)463 Jun. 22, 98 P. Urban (track-00-06-04) 421 464 - Preliminary results of tracking optimisation merged into HEAD. 422 465 423 Jun e11, 98 G.Cosmo (track-00-06-03)466 Jun. 11, 98 G.Cosmo (track-00-06-03) 424 467 - Tagged track-00-06-03. 425 468 426 Jun e11, 98 J.Allison469 Jun. 11, 98 J.Allison 427 470 - Added a missing inline keyword to G4Track.hh:341. 428 471 429 Jun e8, 98 H.Kurashige472 Jun. 8, 98 H.Kurashige 430 473 - Add GoodForTracking and BelowThreshold flags in G4Track 431 474 for new COHERENT scheme for the Cuts … … 435 478 Add new class of G4ParticleChangeForTransport 436 479 437 Apr il 12, 98 H.Kuraashige438 480 Apr. 12, 98 H.Kurashige 481 - Implement new scheme of 'Particle Change'. Please see 439 482 particle_change.asc in geant4alpha/documents/particles+matter/. 440 483 - Following files are modified (or added) 441 484 G4ParticleChange.hh, .icc, .cc 442 485 G4VParticleChange.hh, .icc, .cc … … 444 487 G4Step.hh, G4TrackFastVector.hh 445 488 446 Apr il9, 98 G.Cosmo489 Apr. 9, 98 G.Cosmo 447 490 - Porting on DEC-cxx 6.0. 448 491 Removed meaningless usage of "const" qualifier from functions … … 451 494 G4Step.hh, G4StepPoint.hh, G4Track.hh 452 495 453 Mar ch 18, 1998 K.Amako454 496 Mar. 18, 1998 K.Amako 497 - Add following information to G4Track: 455 498 1.Momentum direction at the start point (vertex position) of the track 456 499 2.Kinetic energy at the start point (vertex position) of the track 457 500 3.Pointer to the process which created the current track 458 501 - Due to this, the following files have modififed and committed. 459 502 1.NewDesignDoc.txt 460 503 2.G4Track.hh, G4Track.cc 461 504 3.G4SteppingManager.cc 462 505 463 464 January 29, 97 K. Amako 465 Following changes have been done and committed/tagged to cvs. 506 Jan. 29, 97 K. Amako 507 - Following changes have been done and committed/tagged to cvs. 466 508 Tag# is track-00-03-01. 467 509 - G4Step.cc: Output format has been changed in showStep(). 468 510 469 Dec ember19, 97 G. Cosmo - (alpha03)511 Dec. 19, 97 G. Cosmo - (alpha03) 470 512 471 513 - Created. -
trunk/source/track/include/CVS/Entries
r1337 r1340 1 /G4FieldTrackUpdator.hh/1.2/Thu Sep 30 06:16:04 2010//T geant4-09-04-beta-012 /G4ForceCondition.hh/1.5/Thu Sep 30 06:16:04 2010//T geant4-09-04-beta-013 /G4GPILSelection.hh/1.4/Thu Sep 30 06:16:04 2010//T geant4-09-04-beta-014 /G4ParticleChange.hh/1.13/Thu Sep 30 06:16:04 2010//T geant4-09-04-beta-015 /G4ParticleChange.icc/1.14/Thu Sep 30 06:16:04 2010//T geant4-09-04-beta-016 /G4ParticleChangeFor Decay.hh/1.9/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-017 /G4ParticleChangeFor Gamma.hh/1.9/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-018 /G4ParticleChangeFor Loss.hh/1.22/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-019 /G4ParticleChangeForMSC. hh/1.9/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-0110 /G4ParticleChangeFor MSC.icc/1.7/Thu Sep 30 06:16:04 2010//Tgeant4-09-04-beta-0111 /G4ParticleChangeFor RadDecay.hh/1.7/Thu Sep 30 06:16:05 2010//Tgeant4-09-04-beta-0112 /G4 ParticleChangeForTransport.hh/1.16/Thu Sep 30 06:16:05 2010//Tgeant4-09-04-beta-0113 /G4 ParticleChangeForTransport.icc/1.13/Thu Sep 30 06:16:05 2010//Tgeant4-09-04-beta-0114 /G4Step .hh/1.19/Thu Sep 30 06:16:05 2010//Tgeant4-09-04-beta-0115 /G4Step .icc/1.19/Thu Sep 30 06:16:05 2010//Tgeant4-09-04-beta-0116 /G4 StepPoint.hh/1.19/Thu Sep 30 06:16:08 2010//Tgeant4-09-04-beta-0117 /G4 StepPoint.icc/1.14/Thu Sep 30 06:16:08 2010//Tgeant4-09-04-beta-0118 /G4 StepStatus.hh/1.4/Thu Sep 30 06:16:08 2010//Tgeant4-09-04-beta-0119 /G4 SteppingControl.hh/1.4/Thu Sep 30 06:16:08 2010//Tgeant4-09-04-beta-0120 /G4 Track.hh/1.19/Thu Sep 30 06:16:09 2010//Tgeant4-09-04-beta-0121 /G4 Track.icc/1.16/Thu Sep 30 06:16:09 2010//Tgeant4-09-04-beta-0122 /G4 TrackFastVector.hh/1.5/Thu Sep 30 06:16:09 2010//Tgeant4-09-04-beta-0123 /G4 TrackStatus.hh/1.4/Thu Sep 30 06:16:09 2010//Tgeant4-09-04-beta-0124 /G4 TrackVector.hh/1.2/Thu Sep 30 06:16:09 2010//Tgeant4-09-04-beta-0125 /G4 VParticleChange.hh/1.16/Thu Sep 30 06:16:09 2010//Tgeant4-09-04-beta-0126 /G4 VParticleChange.icc/1.16/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-0127 /G4 VUserTrackInformation.hh/1.9/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-011 /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 28 28 D -
trunk/source/track/include/CVS/Tag
r1331 r1340 1 N geant4-09-04-beta-011 Ntrack-V09-03-09 -
trunk/source/track/include/G4ParticleChangeForDecay.hh
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4ParticleChangeForDecay.hh,v 1. 9 2006/06/29 21:14:19 gunterExp $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 $ 29 29 30 30 // … … 158 158 159 159 #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 25 25 // 26 26 // 27 // $Id: G4ParticleChangeForTransport.hh,v 1.1 6 2006/06/29 21:14:31 gunterExp $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 $ 29 29 // 30 30 // … … 126 126 private: 127 127 G4bool isMomentumChanged; 128 // The flag which is set if mome tum is changed in this stepi128 // The flag which is set if momentum is changed in current step 129 129 G4Material* theMaterialChange; 130 130 const G4MaterialCutsCouple* theMaterialCutsCoupleChange; -
trunk/source/track/include/G4Step.hh
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4Step.hh,v 1. 19 2008/01/12 12:00:25kurasige 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 $ 29 29 // 30 30 // … … 121 121 void SetControlFlag(G4SteppingControl StepControlFlag); 122 122 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 131 124 void AddTotalEnergyDeposit(G4double value); 132 125 void ResetTotalEnergyDeposit(); … … 138 131 139 132 // Get/Set/Clear flag for initial/last step 133 // NOTE: following flags are not used 134 // will be ready in later release 140 135 G4bool IsFirstStepInVolume() const; 141 136 G4bool IsLastStepInVolume() const; … … 145 140 void SetLastStepFlag(); 146 141 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 147 154 148 155 // Other member functions … … 191 198 // Secondary buckets 192 199 public: 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 ; 194 209 G4TrackVector* GetfSecondary(); 195 210 G4TrackVector* NewSecondaryVector(); 211 212 // just delete secondary bucket 213 // NOTE: G4Track objects inside the bucket are not deleted 196 214 void DeleteSecondaryVector(); 215 216 // Add secondary tracks to the bucket 197 217 void SetSecondary( G4TrackVector* value); 198 private: 218 219 private: 220 // Secondaty bucket implemented by using std::vector of G4Track* 199 221 G4TrackVector* fSecondary; 200 222 -
trunk/source/track/include/G4Step.icc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4Step.icc,v 1. 19 2008/02/05 01:46:57kurasige 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 $ 29 29 // 30 30 // … … 86 86 } 87 87 88 inline89 G4ThreeVector G4Step::GetDeltaMomentum() const90 {91 return fpPostStepPoint->GetMomentum()92 - fpPreStepPoint->GetMomentum();93 }94 95 inline96 G4double G4Step::GetDeltaEnergy() const97 {98 return fpPostStepPoint->GetKineticEnergy()99 - fpPreStepPoint->GetKineticEnergy();100 }101 88 102 89 inline … … 163 150 inline 164 151 void G4Step::CopyPostToPreStepPoint( ) 165 { 152 { 153 //This method is called at the beggining of each step 166 154 *(fpPreStepPoint) = *(fpPostStepPoint); 167 155 fpPostStepPoint->SetStepStatus(fUndefined); 168 } 156 // clear secondary in current 157 fSecondary->secondaryInCurrent.clear(); 158 } 169 159 170 160 … … 222 212 fpPreStepPoint->SetWeight(fpTrack->GetWeight()); 223 213 224 214 // clear secondary in current 215 fSecondary->secondaryInCurrent.clear(); 216 225 217 (*fpPostStepPoint) = (*fpPreStepPoint); 226 218 } … … 251 243 fpTrack->SetWeight(fpPostStepPoint->GetWeight()); 252 244 245 253 246 // set velocity 254 247 fpPostStepPoint->SetVelocity(fpTrack->GetVelocity()); 255 248 } 256 249 257 inline G4TrackVector* G4Step::GetfSecondary() { 250 inline 251 const std::vector<const G4Track*>* G4Step::GetSecondaryInCurrentStep() const 252 { 253 return &fSecondary->secondaryInCurrent; 254 } 255 256 inline const G4TrackVector* G4Step::GetSecondary() const 257 { 258 258 return fSecondary; 259 } 260 inline G4TrackVector* G4Step::GetSecondary() const { 259 } 260 261 inline G4TrackVector* G4Step::GetfSecondary() 262 { 261 263 return fSecondary; 262 } 263 inline void G4Step::SetSecondary(G4TrackVector* value) { 264 } 265 266 inline void G4Step::SetSecondary(G4TrackVector* value) 267 { 264 268 fSecondary=value; 265 } 266 inline G4TrackVector* G4Step::NewSecondaryVector() { 269 } 270 271 inline 272 G4TrackVector* G4Step::NewSecondaryVector() 273 { 267 274 fSecondary=new G4TrackVector(); 268 275 return fSecondary; 269 } 276 } 277 270 278 inline void G4Step::DeleteSecondaryVector() { 271 279 delete fSecondary; -
trunk/source/track/include/G4Track.hh
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4Track.hh,v 1. 19 2008/10/24 08:22:20kurasige 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 $ 29 29 // 30 30 // … … 58 58 #include "G4TouchableHandle.hh" // Include from 'geometry' 59 59 #include "G4VUserTrackInformation.hh" 60 61 #include "G4PhysicsLogVector.hh" 60 62 61 63 #include "G4Material.hh" … … 116 118 117 119 // particle definition 120 const G4ParticleDefinition* GetParticleDefinition() const; 121 // following method of GetDefinition remains 122 // because of backward compatiblity. It will be removed in future 118 123 G4ParticleDefinition* GetDefinition() const; 119 124 … … 235 240 private: 236 241 //--------- 242 // prepare velocity table 243 void PrepareVelocityTable(); 237 244 238 245 // Member data … … 277 284 278 285 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; 279 296 }; 280 #include "G4Step.hh" 297 281 298 #include "G4Track.icc" 282 299 -
trunk/source/track/include/G4Track.icc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4Track.icc,v 1. 16 2008/10/24 08:22:20 kurasigeExp $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 $ 29 29 // 30 30 //----------------------------------------------------------------- … … 38 38 extern G4DLLIMPORT G4Allocator<G4Track> aTrackAllocator; 39 39 #endif 40 41 // Operators42 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" uses57 // "RWPtrOrderdVector" which requires this.58 59 // Get/Set functions60 // dynamic particle61 inline const G4DynamicParticle* G4Track::GetDynamicParticle() const62 { return fpDynamicParticle; }63 64 // particle definition65 inline G4ParticleDefinition* G4Track::GetDefinition() const66 { return fpDynamicParticle->GetDefinition(); }67 68 // parent track ID69 inline G4int G4Track::GetParentID() const70 { return fParentID; }71 72 inline void G4Track::SetParentID(const G4int aValue)73 { fParentID = aValue; }74 75 // current track ID76 inline G4int G4Track::GetTrackID() const77 { return fTrackID; }78 79 inline void G4Track::SetTrackID(const G4int aValue)80 { fTrackID = aValue; }81 82 // position83 inline const G4ThreeVector& G4Track::GetPosition() const84 { return fPosition; }85 86 inline void G4Track::SetPosition(const G4ThreeVector& aValue)87 { fPosition = aValue; }88 89 // global time90 inline G4double G4Track::GetGlobalTime() const91 { 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 time98 inline G4double G4Track::GetLocalTime() const99 { 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 time106 inline G4double G4Track::GetProperTime() const107 { return fpDynamicParticle->GetProperTime(); }108 109 inline void G4Track::SetProperTime(const G4double aValue)110 { fpDynamicParticle->SetProperTime(aValue); }111 // Proper time of the current track112 113 // volume114 inline G4VPhysicalVolume* G4Track::GetVolume() const115 { if ( fpTouchable ==0 ) return 0;116 return fpTouchable->GetVolume(); }117 118 inline G4VPhysicalVolume* G4Track::GetNextVolume() const119 { if ( fpNextTouchable ==0 ) return 0;120 return fpNextTouchable->GetVolume(); }121 122 // material123 inline124 const G4MaterialCutsCouple* G4Track::GetMaterialCutsCouple() const125 { return fpStep->GetPreStepPoint()->GetMaterialCutsCouple(); }126 127 inline128 const G4MaterialCutsCouple* G4Track::GetNextMaterialCutsCouple() const129 { return fpStep->GetPostStepPoint()->GetMaterialCutsCouple(); }130 131 // material132 inline G4Material* G4Track::GetMaterial() const133 { return fpStep->GetPreStepPoint()->GetMaterial(); }134 135 inline G4Material* G4Track::GetNextMaterial() const136 { return fpStep->GetPostStepPoint()->GetMaterial(); }137 138 139 // touchable140 inline const G4VTouchable* G4Track::GetTouchable() const141 {142 return fpTouchable();143 }144 145 inline const G4TouchableHandle& G4Track::GetTouchableHandle() const146 {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() const156 {157 return fpNextTouchable();158 }159 160 inline const G4TouchableHandle& G4Track::GetNextTouchableHandle() const161 {162 return fpNextTouchable;163 }164 165 inline void G4Track::SetNextTouchableHandle( const G4TouchableHandle& apValue)166 {167 fpNextTouchable = apValue;168 }169 170 171 // kinetic energy172 inline G4double G4Track::GetKineticEnergy() const173 { return fpDynamicParticle->GetKineticEnergy(); }174 175 inline void G4Track::SetKineticEnergy(const G4double aValue)176 { fpDynamicParticle->SetKineticEnergy(aValue); }177 178 // total energy179 inline G4double G4Track::GetTotalEnergy() const180 { return fpDynamicParticle->GetTotalEnergy(); }181 182 // momentum183 inline G4ThreeVector G4Track::GetMomentum() const184 { return fpDynamicParticle->GetMomentum(); }185 186 // momentum (direction)187 inline const G4ThreeVector& G4Track::GetMomentumDirection() const188 { return fpDynamicParticle->GetMomentumDirection(); }189 190 inline void G4Track::SetMomentumDirection(const G4ThreeVector& aValue)191 { fpDynamicParticle->SetMomentumDirection(aValue) ;}192 193 // polarization194 inline const G4ThreeVector& G4Track::GetPolarization() const195 { 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 status203 inline G4TrackStatus G4Track::GetTrackStatus() const204 { return fTrackStatus; }205 206 inline void G4Track::SetTrackStatus(const G4TrackStatus aTrackStatus)207 { fTrackStatus = aTrackStatus; }208 209 // track length210 inline G4double G4Track::GetTrackLength() const211 { return fTrackLength; }212 213 inline void G4Track::AddTrackLength(const G4double aValue)214 { fTrackLength += aValue; }215 // Accumulated track length216 217 // step number218 inline G4int G4Track::GetCurrentStepNumber() const219 { return fCurrentStepNumber; }220 221 inline void G4Track::IncrementCurrentStepNumber()222 { fCurrentStepNumber++; }223 224 // step length225 inline G4double G4Track::GetStepLength() const226 { return fStepLength; }227 228 inline void G4Track::SetStepLength(G4double value)229 { fStepLength = value; }230 231 // vertex (where this track was created) information232 inline const G4ThreeVector& G4Track::GetVertexPosition() const233 { return fVtxPosition; }234 235 inline void G4Track::SetVertexPosition(const G4ThreeVector& aValue)236 { fVtxPosition = aValue; }237 238 inline const G4ThreeVector& G4Track::GetVertexMomentumDirection() const239 { return fVtxMomentumDirection; }240 inline void G4Track::SetVertexMomentumDirection(const G4ThreeVector& aValue)241 { fVtxMomentumDirection = aValue ;}242 243 inline G4double G4Track::GetVertexKineticEnergy() const244 { return fVtxKineticEnergy; }245 246 inline void G4Track::SetVertexKineticEnergy(const G4double aValue)247 { fVtxKineticEnergy = aValue; }248 249 inline const G4LogicalVolume* G4Track::GetLogicalVolumeAtVertex() const250 { return fpLVAtVertex; }251 252 inline void G4Track::SetLogicalVolumeAtVertex(const G4LogicalVolume* aValue)253 { fpLVAtVertex = aValue; }254 255 inline const G4VProcess* G4Track::GetCreatorProcess() const256 { return fpCreatorProcess; }257 // If the pointer is 0, this means the track is created258 // by the event generator, i.e. the primary track.If it is not259 // 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() const266 { 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() const273 { return fGoodForTracking; }274 275 inline void G4Track::SetGoodForTrackingFlag(G4bool value)276 { fGoodForTracking = value; }277 278 // track weight279 inline void G4Track::SetWeight(G4double aValue)280 { fWeight = aValue; }281 282 inline G4double G4Track::GetWeight() const283 { return fWeight; }284 285 // user information286 inline G4VUserTrackInformation* G4Track::GetUserInformation() const287 { return fpUserInformation; }288 inline void G4Track::SetUserInformation(G4VUserTrackInformation* aValue)289 { fpUserInformation = aValue; }290 291 292 40 293 41 //------------------------------------------------------------- … … 298 46 #include "G4Step.hh" 299 47 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 300 302 inline const G4Step* G4Track::GetStep() const 301 303 { return fpStep; } 302 304 303 305 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 25 25 // 26 26 // 27 // $Id: G4TrackVector.hh,v 1. 2 2006/07/17 13:48:28 asaimExp $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 $ 29 29 // 30 30 //--------------------------------------------------------------- … … 47 47 48 48 #include <vector> 49 //#include "G4Track.hh" // Include form 'tracking'50 49 class G4Track; 50 class G4Step; 51 51 52 52 53 /////////////////////////////////////////////////// 53 typedef std::vector<G4Track*> G4TrackVector;54 //typedef std::vector<G4Track*> G4TrackVector; 54 55 /////////////////////////////////////////////////// 56 class 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 55 78 56 79 #endif -
trunk/source/track/src/CVS/Entries
r1337 r1340 1 /G4FieldTrackUpdator.cc/1.2/Thu Sep 30 06:16:10 2010//T geant4-09-04-beta-012 /G4 ParticleChange.cc/1.31/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-013 /G4ParticleChange ForDecay.cc/1.11/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-014 /G4ParticleChangeFor Gamma.cc/1.3/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-015 /G4ParticleChangeFor Loss.cc/1.17/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-016 /G4ParticleChangeFor MSC.cc/1.14/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-017 /G4ParticleChangeFor Transport.cc/1.19/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-018 /G4 Step.cc/1.7/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-019 /G4Step Point.cc/1.13/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-0110 /G4 Track.cc/1.32/Thu Sep 30 06:16:10 2010//Tgeant4-09-04-beta-0111 /G4 VParticleChange.cc/1.21/Thu Sep 30 06:16:11 2010//Tgeant4-09-04-beta-0112 /G4V UserTrackInformation.cc/1.4/Thu Sep 30 06:16:11 2010//Tgeant4-09-04-beta-011 /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 13 13 D -
trunk/source/track/src/CVS/Tag
r1331 r1340 1 N geant4-09-04-beta-011 Ntrack-V09-03-09 -
trunk/source/track/src/G4ParticleChange.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4ParticleChange.cc,v 1.3 1 2009/04/02 02:22:30 kurasigeExp $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 $ 29 29 // 30 30 // … … 51 51 #include "G4ExceptionSeverity.hh" 52 52 53 54 G4ParticleChange::G4ParticleChange():G4VParticleChange() 53 G4ParticleChange::G4ParticleChange() 54 : G4VParticleChange(), theEnergyChange(0.), theTimeChange(0.), 55 theProperTimeChange(0.), theMassChange(0.), theChargeChange(0.), 56 theMagneticMomentChange(0.), theCurrentTrack(0) 55 57 { 56 58 G4VParticleChange::SetSecondaryWeightByProcess(false); 57 59 G4VParticleChange::SetParentWeightByProcess(false); 58 59 60 } 60 61 … … 389 390 G4VParticleChange::DumpInfo(); 390 391 391 G4 cout.precision(3);392 G4int oldprc = G4cout.precision(3); 392 393 393 394 G4cout << " Mass (GeV) : " … … 439 440 << std::setw(20) << thePolarizationChange.z() 440 441 << G4endl; 442 G4cout.precision(oldprc); 441 443 } 442 444 -
trunk/source/track/src/G4ParticleChangeForDecay.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4ParticleChangeForDecay.cc,v 1.1 1 2006/06/29 21:15:03 gunterExp $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 $ 29 29 // 30 30 // … … 46 46 #include "G4ExceptionSeverity.hh" 47 47 48 G4ParticleChangeForDecay::G4ParticleChangeForDecay():G4VParticleChange() 48 G4ParticleChangeForDecay::G4ParticleChangeForDecay() 49 : G4VParticleChange(), theTimeChange(0.) 49 50 { 50 51 #ifdef G4VERBOSE … … 159 160 G4VParticleChange::DumpInfo(); 160 161 161 G4 cout.precision(3);162 G4int oldprc = G4cout.precision(3); 162 163 G4cout << " Time (ns) : " 163 << std::setw(20) << theTimeChange/ns164 << G4endl;164 << std::setw(20) << theTimeChange/ns << G4endl; 165 G4cout.precision(oldprc); 165 166 } 166 167 -
trunk/source/track/src/G4ParticleChangeForGamma.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4ParticleChangeForGamma.cc,v 1. 3 2006/08/28 16:10:29 vnivanchExp $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 $ 29 29 // 30 30 // … … 47 47 #include "G4ExceptionSeverity.hh" 48 48 49 G4ParticleChangeForGamma::G4ParticleChangeForGamma():G4VParticleChange() 49 G4ParticleChangeForGamma::G4ParticleChangeForGamma() 50 : G4VParticleChange(), currentTrack(0), proposedKinEnergy(0.) 50 51 { 51 52 theSteppingControlFlag = NormalCondition; … … 112 113 G4VParticleChange::DumpInfo(); 113 114 114 G4 cout.precision(3);115 G4int oldprc = G4cout.precision(3); 115 116 G4cout << " Kinetic Energy (MeV): " 116 117 << std::setw(20) << proposedKinEnergy/MeV … … 122 123 << std::setw(20) << proposedPolarization 123 124 << G4endl; 125 G4cout.precision(oldprc); 124 126 } 125 127 -
trunk/source/track/src/G4ParticleChangeForLoss.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4ParticleChangeForLoss.cc,v 1.1 7 2009/05/26 13:19:41 vnivanchExp $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 $ 29 29 // 30 30 // … … 50 50 51 51 G4ParticleChangeForLoss::G4ParticleChangeForLoss() 52 :G4VParticleChange(), lowEnergyLimit(1.0*eV) 52 : G4VParticleChange(), currentTrack(0), proposedKinEnergy(0.), 53 lowEnergyLimit(1.0*eV), currentCharge(0.) 53 54 { 54 55 theSteppingControlFlag = NormalCondition; … … 70 71 } 71 72 72 G4ParticleChangeForLoss::G4ParticleChangeForLoss( 73 const G4ParticleChangeForLoss &right): G4VParticleChange(right) 73 G4ParticleChangeForLoss:: 74 G4ParticleChangeForLoss(const G4ParticleChangeForLoss &right) 75 : G4VParticleChange(right) 74 76 { 75 77 if (verboseLevel>1) { … … 78 80 currentTrack = right.currentTrack; 79 81 proposedKinEnergy = right.proposedKinEnergy; 82 lowEnergyLimit = right.lowEnergyLimit; 80 83 currentCharge = right.currentCharge; 81 84 proposedMomentumDirection = right.proposedMomentumDirection; … … 115 118 G4VParticleChange::DumpInfo(); 116 119 117 G4 cout.precision(3);120 G4int oldprc = G4cout.precision(3); 118 121 G4cout << " Charge (eplus) : " 119 122 << std::setw(20) << currentCharge/eplus … … 131 134 << std::setw(20) << proposedMomentumDirection.z() 132 135 << G4endl; 136 G4cout.precision(oldprc); 133 137 } 134 138 -
trunk/source/track/src/G4ParticleChangeForMSC.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4ParticleChangeForMSC.cc,v 1.1 4 2009/04/02 02:22:30 kurasigeExp $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 $ 29 29 // 30 30 // … … 45 45 #include "G4ExceptionSeverity.hh" 46 46 47 G4ParticleChangeForMSC::G4ParticleChangeForMSC():G4VParticleChange() 47 G4ParticleChangeForMSC::G4ParticleChangeForMSC() 48 : G4VParticleChange() 48 49 { 49 50 #ifdef G4VERBOSE … … 63 64 } 64 65 65 G4ParticleChangeForMSC::G4ParticleChangeForMSC( 66 const G4ParticleChangeForMSC &right): G4VParticleChange(right) 66 G4ParticleChangeForMSC:: 67 G4ParticleChangeForMSC(const G4ParticleChangeForMSC &right) 68 : G4VParticleChange(right) 67 69 { 68 70 if (verboseLevel>1) { … … 133 135 G4VParticleChange::DumpInfo(); 134 136 135 G4 cout.precision(3);137 G4int oldprc = G4cout.precision(3); 136 138 G4cout << " Position - x (mm) : " 137 139 << std::setw(20) << thePosition.x()/mm … … 152 154 << std::setw(20) << theMomentumDirection.z() 153 155 << G4endl; 156 G4cout.precision(oldprc); 154 157 } 155 158 -
trunk/source/track/src/G4ParticleChangeForTransport.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4ParticleChangeForTransport.cc,v 1. 19 2006/11/03 17:45:04 japostExp $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 $ 29 29 // 30 30 // … … 47 47 #include "G4DynamicParticle.hh" 48 48 49 G4ParticleChangeForTransport::G4ParticleChangeForTransport():G4ParticleChange() 49 G4ParticleChangeForTransport::G4ParticleChangeForTransport() 50 : G4ParticleChange(), isMomentumChanged(false), theMaterialChange(0), 51 theMaterialCutsCoupleChange(0), theSensitiveDetectorChange(0) 50 52 { 51 53 if (verboseLevel>2) { 52 G4cout << "G4ParticleChangeForTransport::G4ParticleChangeForTransport() " << G4endl; 54 G4cout << "G4ParticleChangeForTransport::G4ParticleChangeForTransport() " 55 << G4endl; 53 56 } 54 57 } … … 57 60 { 58 61 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 67 G4ParticleChangeForTransport:: 68 G4ParticleChangeForTransport(const G4ParticleChangeForTransport &r) 69 : G4ParticleChange(r) 65 70 { 66 71 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; 70 80 } 71 81 72 82 // assignemnt operator 73 G4ParticleChangeForTransport & G4ParticleChangeForTransport::operator=(const G4ParticleChangeForTransport &right) 83 G4ParticleChangeForTransport & 84 G4ParticleChangeForTransport::operator=(const G4ParticleChangeForTransport &r) 74 85 { 75 86 if (verboseLevel>1) { 76 G4cout << "G4ParticleChangeForTransport:: assignment operator is called " << G4endl; 87 G4cout << "G4ParticleChangeForTransport:: assignment operator is called " 88 << G4endl; 77 89 } 78 if (this != &r ight)90 if (this != &r) 79 91 { 80 theListOfSecondaries = r ight.theListOfSecondaries;81 theSizeOftheListOfSecondaries = r ight.theSizeOftheListOfSecondaries;82 theNumberOfSecondaries = r ight.theNumberOfSecondaries;83 theStatusChange = r ight.theStatusChange;84 theTouchableHandle = r ight.theTouchableHandle;85 theMaterialChange = r ight.theMaterialChange;86 theMaterialCutsCoupleChange = r ight.theMaterialCutsCoupleChange;87 theSensitiveDetectorChange = r ight.theSensitiveDetectorChange;88 theMomentumDirectionChange = r ight.theMomentumDirectionChange;89 thePolarizationChange = r ight.thePolarizationChange;90 thePositionChange = r ight.thePositionChange;91 theTimeChange = r ight.theTimeChange;92 theEnergyChange = r ight.theEnergyChange;93 theTrueStepLength = r ight.theTrueStepLength;94 theLocalEnergyDeposit = r ight.theLocalEnergyDeposit;95 theSteppingControlFlag = r ight.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; 96 108 } 97 109 return *this; … … 106 118 // Nothing happens for AtRestDoIt 107 119 if (verboseLevel>0) { 108 G4cout << "G4ParticleChangeForTransport::UpdateStepForAtRest() is called" << G4endl; 120 G4cout << "G4ParticleChangeForTransport::UpdateStepForAtRest() is called" 121 << G4endl; 109 122 G4cout << " Nothing happens for this method " << G4endl; 110 123 } … … 236 249 G4ParticleChange::DumpInfo(); 237 250 238 G4 cout.precision(3);251 G4int oldprc = G4cout.precision(3); 239 252 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 25 25 // 26 26 // 27 // $Id: G4Step.cc,v 1. 7 2006/10/30 09:50:13kurasige 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 $ 29 29 // 30 30 // … … 54 54 G4Step::G4Step() 55 55 //////////////// 56 : fTotalEnergyDeposit(0.0),fNonIonizingEnergyDeposit(0.0), 57 fStepLength(0.), fpTrack(0), 58 fpSteppingControlFlag(NormalCondition),fSecondary(0), 59 fpVectorOfAuxiliaryPointsPointer(0) 56 60 { 57 61 fpPreStepPoint = new G4StepPoint(); … … 69 73 delete fpPostStepPoint; 70 74 } 75 76 77 ///////////////// 78 G4ThreeVector 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 ///////////////// 95 G4double 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 25 25 // 26 26 // 27 // $Id: G4StepPoint.cc,v 1.1 3 2007/03/11 07:19:06kurasige 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 $ 29 29 // 30 30 // … … 47 47 48 48 ////////////////////////// 49 G4StepPoint::G4StepPoint() :49 G4StepPoint::G4StepPoint() 50 50 ////////////////////////// 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.) 53 57 { 54 58 } -
trunk/source/track/src/G4Track.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4Track.cc,v 1.3 2 2009/04/08 08:07:24kurasige 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 $ 29 29 // 30 30 // … … 41 41 42 42 #include "G4Track.hh" 43 #include "G4ParticleTable.hh" 43 44 44 45 G4Allocator<G4Track> aTrackAllocator; 46 47 G4PhysicsLogVector* G4Track::velTable = 0; 48 49 const G4double G4Track::maxT = 100.0; 50 const G4double G4Track::minT = 0.0001; 45 51 46 52 /////////////////////////////////////////////////////////// … … 60 66 fVtxKineticEnergy(0.0), 61 67 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) 63 72 { 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(); 64 84 } 65 85 … … 78 98 fVtxKineticEnergy(0.0), 79 99 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) 81 104 { 82 105 } … … 84 107 G4Track::G4Track(const G4Track& right) 85 108 ////////////////// 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) 86 124 { 87 125 *this = right; … … 136 174 fpCreatorProcess = 0; 137 175 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 138 184 } 139 185 return *this; … … 147 193 } 148 194 149 #include "G4ParticleTable.hh"150 195 /////////////////// 151 196 G4double G4Track::GetVelocity() const 152 197 /////////////////// 153 198 { 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 ; 170 201 171 202 G4double mass = fpDynamicParticle->GetMass(); 172 203 173 velocity = c_light ;174 175 204 // special case for photons 176 if ( (fOpticalPhoton !=0) && 177 (fpDynamicParticle->GetDefinition()==fOpticalPhoton) ){ 205 if ( is_OpticalPhoton ) { 178 206 179 207 G4Material* mat=0; … … 187 215 } 188 216 // check if previous step is in the same volume 189 // and get new GROUPVELO VITY table if necessary190 if ((mat != prev_mat)||(groupvel==0)) {217 // and get new GROUPVELOCITY table if necessary 218 if ((mat != 0) && ((mat != prev_mat)||(groupvel==0))) { 191 219 groupvel = 0; 192 220 if(mat->GetMaterialPropertiesTable() != 0) … … 203 231 // check if momentum is same as in the previous step 204 232 // 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) ) { 206 235 velocity = 207 groupvel->GetProperty( fpDynamicParticle->GetTotalMomentum());208 209 prev_momentum = fpDynamicParticle->GetTotalMomentum();236 groupvel->GetProperty(current_momentum); 237 prev_velocity = velocity; 238 prev_momentum = current_momentum; 210 239 } 211 240 } 212 241 213 242 } else { 243 // particles other than optical photon 214 244 if (mass<DBL_MIN) { 245 // Zero Mass 215 246 velocity = c_light; 216 247 } 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 220 260 } 221 261 222 262 return velocity ; 223 263 } 264 265 /////////////////// 266 void 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 25 25 // 26 26 // 27 // $Id: G4VParticleChange.cc,v 1.2 1 2009/04/02 02:22:30 kurasigeExp $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 $ 29 29 // 30 30 // … … 53 53 theLocalEnergyDeposit(0.0), 54 54 theNonIonizingEnergyDeposit(0.0), 55 theTrueStepLength(0.0), 55 56 theFirstStepInVolume(false), 56 57 theLastStepInVolume(false), … … 163 164 164 165 // Show header 165 G4 cout.precision(3);166 G4int olprc = G4cout.precision(3); 166 167 G4cout << " -----------------------------------------------" 167 168 << G4endl; … … 220 221 G4cout << " Last Step In the voulme : " << G4endl; 221 222 } 223 G4cout.precision(olprc); 222 224 } 223 225
Note: See TracChangeset
for help on using the changeset viewer.