Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 /// \file runAndEvent/RE01/src/RE01TrackInform 27 /// \brief Implementation of the RE01TrackInfo 28 // 29 // 30 // 31 32 #include "RE01TrackInformation.hh" 33 34 #include "G4SystemOfUnits.hh" 35 #include "G4ios.hh" 36 37 G4ThreadLocal G4Allocator<RE01TrackInformation 38 39 //....oooOO0OOooo........oooOO0OOooo........oo 40 RE01TrackInformation::RE01TrackInformation() : 41 { 42 fOriginalTrackID = 0; 43 fParticleDefinition = 0; 44 fOriginalPosition = G4ThreeVector(0., 0., 0. 45 fOriginalMomentum = G4ThreeVector(0., 0., 0. 46 fOriginalEnergy = 0.; 47 fOriginalTime = 0.; 48 fTrackingStatus = 1; 49 fSourceTrackID = -1; 50 fSourceDefinition = 0; 51 fSourcePosition = G4ThreeVector(0., 0., 0.); 52 fSourceMomentum = G4ThreeVector(0., 0., 0.); 53 fSourceEnergy = 0.; 54 fSourceTime = 0.; 55 fSuspendedStepID = -1; 56 } 57 58 //....oooOO0OOooo........oooOO0OOooo........oo 59 RE01TrackInformation::RE01TrackInformation(con 60 { 61 fOriginalTrackID = aTrack->GetTrackID(); 62 fParticleDefinition = aTrack->GetDefinition( 63 fOriginalPosition = aTrack->GetPosition(); 64 fOriginalMomentum = aTrack->GetMomentum(); 65 fOriginalEnergy = aTrack->GetTotalEnergy(); 66 fOriginalTime = aTrack->GetGlobalTime(); 67 fTrackingStatus = 1; 68 fSourceTrackID = -1; 69 fSourceDefinition = 0; 70 fSourcePosition = G4ThreeVector(0., 0., 0.); 71 fSourceMomentum = G4ThreeVector(0., 0., 0.); 72 fSourceEnergy = 0.; 73 fSourceTime = 0.; 74 fSuspendedStepID = -1; 75 } 76 77 //....oooOO0OOooo........oooOO0OOooo........oo 78 RE01TrackInformation ::RE01TrackInformation(co 79 : G4VUserTrackInformation() 80 { 81 fOriginalTrackID = aTrackInfo->fOriginalTrac 82 fParticleDefinition = aTrackInfo->fParticleD 83 fOriginalPosition = aTrackInfo->fOriginalPos 84 fOriginalMomentum = aTrackInfo->fOriginalMom 85 fOriginalEnergy = aTrackInfo->fOriginalEnerg 86 fOriginalTime = aTrackInfo->fOriginalTime; 87 fTrackingStatus = aTrackInfo->fTrackingStatu 88 fSourceTrackID = aTrackInfo->fSourceTrackID; 89 fSourceDefinition = aTrackInfo->fSourceDefin 90 fSourcePosition = aTrackInfo->fSourcePositio 91 fSourceMomentum = aTrackInfo->fSourceMomentu 92 fSourceEnergy = aTrackInfo->fSourceEnergy; 93 fSourceTime = aTrackInfo->fSourceTime; 94 fSuspendedStepID = -1; 95 } 96 97 //....oooOO0OOooo........oooOO0OOooo........oo 98 RE01TrackInformation::~RE01TrackInformation() 99 { 100 ; 101 } 102 103 //....oooOO0OOooo........oooOO0OOooo........oo 104 RE01TrackInformation& RE01TrackInformation ::o 105 { 106 fOriginalTrackID = aTrackInfo.fOriginalTrack 107 fParticleDefinition = aTrackInfo.fParticleDe 108 fOriginalPosition = aTrackInfo.fOriginalPosi 109 fOriginalMomentum = aTrackInfo.fOriginalMome 110 fOriginalEnergy = aTrackInfo.fOriginalEnergy 111 fOriginalTime = aTrackInfo.fOriginalTime; 112 fTrackingStatus = aTrackInfo.fTrackingStatus 113 fSourceTrackID = aTrackInfo.fSourceTrackID; 114 fSourceDefinition = aTrackInfo.fSourceDefini 115 fSourcePosition = aTrackInfo.fSourcePosition 116 fSourceMomentum = aTrackInfo.fSourceMomentum 117 fSourceEnergy = aTrackInfo.fSourceEnergy; 118 fSourceTime = aTrackInfo.fSourceTime; 119 fSuspendedStepID = -1; 120 121 return *this; 122 } 123 124 //....oooOO0OOooo........oooOO0OOooo........oo 125 void RE01TrackInformation::SetSourceTrackInfor 126 { 127 fSourceTrackID = aTrack->GetTrackID(); 128 fSourceDefinition = aTrack->GetDefinition(); 129 fSourcePosition = aTrack->GetPosition(); 130 fSourceMomentum = aTrack->GetMomentum(); 131 fSourceEnergy = aTrack->GetTotalEnergy(); 132 fSourceTime = aTrack->GetGlobalTime(); 133 } 134 135 //....oooOO0OOooo........oooOO0OOooo........oo 136 void RE01TrackInformation::Print() const 137 { 138 G4cout << "Source track ID " << fSourceTrack 139 << "," << fSourceEnergy / GeV << "[Ge 140 G4cout << "Original primary track ID " << fO 141 << fParticleDefinition->GetParticleNa 142 << G4endl; 143 } 144