Changeset 1340 for trunk/source/track/include/G4Track.icc
- Timestamp:
- Nov 5, 2010, 3:45:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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; }
Note: See TracChangeset
for help on using the changeset viewer.