49 : fPositionRecord(0), fTrackID(0), fParentID(0),
50 fPDGEncoding( 0 ), fPDGCharge(0.0), fParticleName(
""),
51 fInitialKineticEnergy( 0. ), fInitialMomentum(
G4ThreeVector() )
74 fParticleName = right.fParticleName;
75 fPDGCharge = right.fPDGCharge;
76 fPDGEncoding = right.fPDGEncoding;
77 fTrackID = right.fTrackID;
78 fParentID = right.fParentID;
79 fInitialKineticEnergy = right.fInitialKineticEnergy;
80 fInitialMomentum = right.fInitialMomentum;
83 for(
size_t i=0;i<right.fPositionRecord->size();i++)
94 if (fPositionRecord) {
97 for(i=0;i<fPositionRecord->size();i++){
98 delete (*fPositionRecord)[i];
100 fPositionRecord->clear();
101 delete fPositionRecord;
135 std::map<G4String,G4AttDef>* store
140 (*store)[id] =
G4AttDef(
id,
"Track ID",
"Physics",
"",
"G4int");
143 (*store)[pid] =
G4AttDef(pid,
"Parent ID",
"Physics",
"",
"G4int");
146 (*store)[
pn] =
G4AttDef(pn,
"Particle Name",
"Physics",
"",
"G4String");
149 (*store)[ch] =
G4AttDef(ch,
"Charge",
"Physics",
"e+",
"G4double");
152 (*store)[pdg] =
G4AttDef(pdg,
"PDG Encoding",
"Physics",
"",
"G4int");
156 G4AttDef(ike,
"Initial kinetic energy",
157 "Physics",
"G4BestUnit",
"G4double");
160 (*store)[iMom] =
G4AttDef(iMom,
"Initial momentum",
161 "Physics",
"G4BestUnit",
"G4ThreeVector");
165 G4AttDef(iMag,
"Initial momentum magnitude",
166 "Physics",
"G4BestUnit",
"G4double");
169 (*store)[ntp] =
G4AttDef(ntp,
"No. of points",
"Physics",
"",
"G4int");
178 std::vector<G4AttValue>* values =
new std::vector<G4AttValue>;
186 values->push_back(
G4AttValue(
"PN",fParticleName,
""));
230 if(!secondTrajectory)
return;
234 for(
G4int i=1;i<ent;i++)
237 fPositionRecord->push_back((*(seco->fPositionRecord))[i]);
240 delete (*seco->fPositionRecord)[0];
241 seco->fPositionRecord->clear();