32#include "G4ParticleTable.hh"
33#include "G4AttDefStore.hh"
35#include "G4AttValue.hh"
36#include "G4UIcommand.hh"
37#include "G4UnitsTable.hh"
41#include "G4AttCheck.hh"
49 fPositionRecord(0), fTrackID(0), fParentID(0),
50 fPDGEncoding( 0 ), fPDGCharge(0.0), fParticleName(
""),
51 fInitialKineticEnergy( 0. ), fInitialMomentum( G4ThreeVector() )
59 fPDGCharge = fpParticleDefinition->GetPDGCharge();
68 aTrack->GetPosition(),aTrack->GetMaterial()));
83 for(
size_t i=0;i<
right.fPositionRecord->size();i++)
98 delete (*fPositionRecord)[i];
109 G4VTrajectory::ShowTrajectory(os);
117 G4VTrajectory::DrawTrajectory();
125 std::map<G4String,G4AttDef>* store
126 = G4AttDefStore::GetInstance(
"RE04Trajectory",isNew);
130 (*store)[id] =
G4AttDef(
id,
"Track ID",
"Physics",
"",
"G4int");
133 (*store)[pid] =
G4AttDef(pid,
"Parent ID",
"Physics",
"",
"G4int");
136 (*store)[pn] =
G4AttDef(pn,
"Particle Name",
"Physics",
"",
"G4String");
139 (*store)[ch] =
G4AttDef(ch,
"Charge",
"Physics",
"e+",
"G4double");
142 (*store)[pdg] =
G4AttDef(pdg,
"PDG Encoding",
"Physics",
"",
"G4int");
146 G4AttDef(ike,
"Initial kinetic energy",
147 "Physics",
"G4BestUnit",
"G4double");
150 (*store)[iMom] =
G4AttDef(iMom,
"Initial momentum",
151 "Physics",
"G4BestUnit",
"G4ThreeVector");
155 G4AttDef(iMag,
"Initial momentum magnitude",
156 "Physics",
"G4BestUnit",
"G4double");
159 (*store)[ntp] =
G4AttDef(ntp,
"No. of points",
"Physics",
"",
"G4int");
168 std::vector<G4AttValue>* values =
new std::vector<G4AttValue>;
207 aStep->GetPostStepPoint()->GetPosition(),
208 aStep->GetPreStepPoint()->GetMaterial() ));
214 return (G4ParticleTable::GetParticleTable()->FindParticle(
fParticleName));
220 if(!secondTrajectory)
return;
224 for(G4int i=1;i<ent;i++)
Definition of the RE04TrajectoryPoint class.
G4ThreadLocal G4Allocator< RE04Trajectory > * faTrajAllocator
Definition of the RE04Trajectory class.
std::vector< G4VTrajectoryPoint * > TrajectoryPointContainer
virtual void AppendStep(const G4Step *aStep)
G4double fInitialKineticEnergy
TrajectoryPointContainer * fPositionRecord
virtual int GetPointEntries() const
virtual const std::map< G4String, G4AttDef > * GetAttDefs() const
virtual std::vector< G4AttValue > * CreateAttValues() const
G4ParticleDefinition * GetParticleDefinition()
virtual ~RE04Trajectory()
virtual void MergeTrajectory(G4VTrajectory *secondTrajectory)
virtual void DrawTrajectory() const
G4ThreeVector fInitialMomentum
virtual void ShowTrajectory(std::ostream &os=G4cout) const