Loading...
Searching...
No Matches
RE01TrackInformation.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26/// \file runAndEvent/RE01/src/RE01TrackInformation.cc
27/// \brief Implementation of the RE01TrackInformation class
28//
29//
30//
31
33#include "G4ios.hh"
34#include "G4SystemOfUnits.hh"
35
38
39//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
42{
45 fOriginalPosition = G4ThreeVector(0.,0.,0.);
46 fOriginalMomentum = G4ThreeVector(0.,0.,0.);
47 fOriginalEnergy = 0.;
48 fOriginalTime = 0.;
50 fSourceTrackID = -1;
52 fSourcePosition = G4ThreeVector(0.,0.,0.);
53 fSourceMomentum = G4ThreeVector(0.,0.,0.);
54 fSourceEnergy = 0.;
55 fSourceTime = 0.;
57}
58
59//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
62{
63 fOriginalTrackID = aTrack->GetTrackID();
64 fParticleDefinition = aTrack->GetDefinition();
65 fOriginalPosition = aTrack->GetPosition();
66 fOriginalMomentum = aTrack->GetMomentum();
67 fOriginalEnergy = aTrack->GetTotalEnergy();
68 fOriginalTime = aTrack->GetGlobalTime();
70 fSourceTrackID = -1;
72 fSourcePosition = G4ThreeVector(0.,0.,0.);
73 fSourceMomentum = G4ThreeVector(0.,0.,0.);
74 fSourceEnergy = 0.;
75 fSourceTime = 0.;
77}
78
79//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
80RE01TrackInformation
81::RE01TrackInformation(const RE01TrackInformation* aTrackInfo)
83{
88 fOriginalEnergy = aTrackInfo->fOriginalEnergy;
89 fOriginalTime = aTrackInfo->fOriginalTime;
90 fTrackingStatus = aTrackInfo->fTrackingStatus;
91 fSourceTrackID = aTrackInfo->fSourceTrackID;
93 fSourcePosition = aTrackInfo->fSourcePosition;
94 fSourceMomentum = aTrackInfo->fSourceMomentum;
95 fSourceEnergy = aTrackInfo->fSourceEnergy;
96 fSourceTime = aTrackInfo->fSourceTime;
98}
99
100//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
103
104//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
105RE01TrackInformation& RE01TrackInformation
106::operator =(const RE01TrackInformation& aTrackInfo)
107{
108 fOriginalTrackID = aTrackInfo.fOriginalTrackID;
109 fParticleDefinition = aTrackInfo.fParticleDefinition;
110 fOriginalPosition = aTrackInfo.fOriginalPosition;
111 fOriginalMomentum = aTrackInfo.fOriginalMomentum;
112 fOriginalEnergy = aTrackInfo.fOriginalEnergy;
113 fOriginalTime = aTrackInfo.fOriginalTime;
114 fTrackingStatus = aTrackInfo.fTrackingStatus;
115 fSourceTrackID = aTrackInfo.fSourceTrackID;
116 fSourceDefinition = aTrackInfo.fSourceDefinition;
117 fSourcePosition = aTrackInfo.fSourcePosition;
118 fSourceMomentum = aTrackInfo.fSourceMomentum;
119 fSourceEnergy = aTrackInfo.fSourceEnergy;
120 fSourceTime = aTrackInfo.fSourceTime;
121 fSuspendedStepID = -1;
122
123 return *this;
124}
125
126//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
128{
129 fSourceTrackID = aTrack->GetTrackID();
130 fSourceDefinition = aTrack->GetDefinition();
131 fSourcePosition = aTrack->GetPosition();
132 fSourceMomentum = aTrack->GetMomentum();
133 fSourceEnergy = aTrack->GetTotalEnergy();
134 fSourceTime = aTrack->GetGlobalTime();
135}
136
137//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
139{
140 G4cout
141 << "Source track ID " << fSourceTrackID << " ("
142 << fSourceDefinition->GetParticleName() << ","
143 << fSourceEnergy/GeV << "[GeV]) at " << fSourcePosition << G4endl;
144 G4cout
145 << "Original primary track ID " << fOriginalTrackID << " ("
146 << fParticleDefinition->GetParticleName() << ","
147 << fOriginalEnergy/GeV << "[GeV])" << G4endl;
148}
149
G4ThreadLocal G4Allocator< RE01TrackInformation > * aTrackInformationAllocator
Definition of the RE01TrackInformation class.
G4ParticleDefinition * fParticleDefinition
G4ParticleDefinition * fSourceDefinition
virtual void Print() const
void SetSourceTrackInformation(const G4Track *aTrack)

Applications | User Support | Publications | Collaboration