50 fPositionRecord(0), fTrackID(0), fParentID(0),
51 fPDGEncoding( 0 ), fPDGCharge(0.0), fParticleName(
""),
52 fInitialKineticEnergy( 0. ), fInitialMomentum(
G4ThreeVector() )
75 fParticleName = right.fParticleName;
76 fPDGCharge = right.fPDGCharge;
77 fPDGEncoding = right.fPDGEncoding;
78 fTrackID = right.fTrackID;
79 fParentID = right.fParentID;
80 fInitialKineticEnergy = right.fInitialKineticEnergy;
81 fInitialMomentum = right.fInitialMomentum;
84 for(
size_t i=0;i<right.fPositionRecord->size();i++)
95 if (fPositionRecord) {
98 for(i=0;i<fPositionRecord->size();i++){
99 delete (*fPositionRecord)[i];
101 fPositionRecord->clear();
102 delete fPositionRecord;
126 std::map<G4String,G4AttDef>* store
131 (*store)[id] =
G4AttDef(
id,
"Track ID",
"Physics",
"",
"G4int");
134 (*store)[pid] =
G4AttDef(pid,
"Parent ID",
"Physics",
"",
"G4int");
137 (*store)[
pn] =
G4AttDef(pn,
"Particle Name",
"Physics",
"",
"G4String");
140 (*store)[ch] =
G4AttDef(ch,
"Charge",
"Physics",
"e+",
"G4double");
143 (*store)[pdg] =
G4AttDef(pdg,
"PDG Encoding",
"Physics",
"",
"G4int");
147 G4AttDef(ike,
"Initial kinetic energy",
148 "Physics",
"G4BestUnit",
"G4double");
151 (*store)[iMom] =
G4AttDef(iMom,
"Initial momentum",
152 "Physics",
"G4BestUnit",
"G4ThreeVector");
156 G4AttDef(iMag,
"Initial momentum magnitude",
157 "Physics",
"G4BestUnit",
"G4double");
160 (*store)[ntp] =
G4AttDef(ntp,
"No. of points",
"Physics",
"",
"G4int");
169 std::vector<G4AttValue>* values =
new std::vector<G4AttValue>;
177 values->push_back(
G4AttValue(
"PN",fParticleName,
""));
221 if(!secondTrajectory)
return;
225 for(
G4int i=1;i<ent;i++)
228 fPositionRecord->push_back((*(seco->fPositionRecord))[i]);
231 delete (*seco->fPositionRecord)[0];
232 seco->fPositionRecord->clear();
G4ParticleDefinition * GetDefinition() const
virtual ~RE04Trajectory()
G4int GetParentID() const
std::vector< G4VTrajectoryPoint * > TrajectoryPointContainer
G4Material * GetMaterial() const
const G4ThreeVector & GetPosition() const
static G4String ConvertToString(G4bool boolVal)
Definition of the RE04Trajectory class.
G4int GetPDGEncoding() const
Definition of the RE04TrajectoryPoint class.
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
const G4String & GetParticleName() const
virtual void ShowTrajectory(std::ostream &os=G4cout) const
virtual void DrawTrajectory() const
G4StepPoint * GetPreStepPoint() const
G4double GetKineticEnergy() const
G4GLOB_DLL std::ostream G4cout
G4ParticleDefinition * GetParticleDefinition()
const G4ThreeVector & GetPosition() const
virtual void DrawTrajectory() const
G4Material * GetMaterial() const
virtual int GetPointEntries() const
G4ThreeVector GetMomentum() const
virtual const std::map< G4String, G4AttDef > * GetAttDefs() const
G4ThreadLocal G4Allocator< RE04Trajectory > * faTrajAllocator
static G4ParticleTable * GetParticleTable()
virtual void MergeTrajectory(G4VTrajectory *secondTrajectory)
G4StepPoint * GetPostStepPoint() const
virtual void AppendStep(const G4Step *aStep)
std::map< G4String, G4AttDef > * GetInstance(const G4String &storeKey, G4bool &isNew)
virtual void ShowTrajectory(std::ostream &os=G4cout) const
G4double GetPDGCharge() const
virtual std::vector< G4AttValue > * CreateAttValues() const