32#include "G4AttValue.hh"
33#include "G4AttDefStore.hh"
35#include "G4UIcommand.hh"
36#include "G4UnitsTable.hh"
40#include "G4ParticleTable.hh"
44#include "G4AttCheck.hh"
60 fPDGCharge = particleDefinition->GetPDGCharge();
82 for(
size_t i=0;i<
right.fpPointsContainer->size();++i) {
94 delete (*fpPointsContainer)[i];
106 G4VTrajectory::ShowTrajectory(os);
121 return (G4ParticleTable::GetParticleTable()->FindParticle(
fParticleName));
128 if(!secondTrajectory)
return;
131 G4int ent = second->GetPointEntries();
133 for(G4int i=1; i<ent; ++i) {
136 delete (*second->fpPointsContainer)[0];
137 second->fpPointsContainer->clear();
145 std::map<G4String,G4AttDef>* store
146 = G4AttDefStore::GetInstance(
"Trajectory",isNew);
151 (*store)[ID] =
G4AttDef(ID,
"Track ID",
"Bookkeeping",
"",
"G4int");
154 (*store)[PID] =
G4AttDef(PID,
"Parent ID",
"Bookkeeping",
"",
"G4int");
157 (*store)[PN] =
G4AttDef(PN,
"Particle Name",
"Physics",
"",
"G4String");
160 (*store)[Ch] =
G4AttDef(Ch,
"Charge",
"Physics",
"e+",
"G4double");
163 (*store)[PDG] =
G4AttDef(PDG,
"PDG Encoding",
"Physics",
"",
"G4int");
167 "Momentum of track at start of trajectory",
168 "Physics",
"G4BestUnit",
"G4ThreeVector");
172 "Magnitude of momentum of track at start of trajectory",
173 "Physics",
"G4BestUnit",
"G4double");
176 (*store)[NTP] =
G4AttDef(NTP,
"No. of points",
"Bookkeeping",
"",
"G4int");
186 auto values =
new std::vector<G4AttValue>;
Definition of the F04TrajectoryPoint class.
G4ThreadLocal G4Allocator< F04Trajectory > * F04TrajectoryAllocator
Definition of the F04Trajectory class.
std::vector< G4VTrajectoryPoint * > TrajectoryPointContainer
~F04Trajectory() override
G4ParticleDefinition * GetParticleDefinition()
void ShowTrajectory(std::ostream &os=G4cout) const override
int GetPointEntries() const override
std::vector< G4AttValue > * CreateAttValues() const override
G4ThreeVector fInitialMomentum
const std::map< G4String, G4AttDef > * GetAttDefs() const override
void AppendStep(const G4Step *aStep) override
void MergeTrajectory(G4VTrajectory *secondTrajectory) override
TrajectoryPointContainer * fpPointsContainer