72 positionRecord =
new G4TrajectoryPointContainer();
86 ParticleName = right.ParticleName;
87 PDGCharge = right.PDGCharge;
88 PDGEncoding = right.PDGEncoding;
89 fTrackID = right.fTrackID;
90 fParentID = right.fParentID;
91 initialKineticEnergy = right.initialKineticEnergy;
92 initialMomentum = right.initialMomentum;
93 positionRecord =
new G4TrajectoryPointContainer();
95 for (
auto& i : *right.positionRecord) {
110 if (positionRecord !=
nullptr) {
111 for (
auto& i : *positionRecord) {
114 positionRecord->clear();
115 delete positionRecord;
143 (*store)[ID] =
G4AttDef(ID,
"Track ID",
"Physics",
"",
"G4int");
146 (*store)[PID] =
G4AttDef(PID,
"Parent ID",
"Physics",
"",
"G4int");
149 (*store)[PN] =
G4AttDef(PN,
"Particle Name",
"Physics",
"",
"G4String");
152 (*store)[Ch] =
G4AttDef(Ch,
"Charge",
"Physics",
"e+",
"G4double");
155 (*store)[PDG] =
G4AttDef(PDG,
"PDG Encoding",
"Physics",
"",
"G4int");
158 (*store)[IKE] =
G4AttDef(IKE,
"Initial kinetic energy",
"Physics",
"G4BestUnit",
"G4double");
161 (*store)[IMom] =
G4AttDef(IMom,
"Initial momentum",
"Physics",
"G4BestUnit",
"G4ThreeVector");
165 G4AttDef(IMag,
"Initial momentum magnitude",
"Physics",
"G4BestUnit",
"G4double");
168 (*store)[NTP] =
G4AttDef(NTP,
"No. of points",
"Physics",
"",
"G4int");
175 auto values =
new std::vector<G4AttValue>;
181 values->push_back(
G4AttValue(
"PN", ParticleName,
""));
215 if (secondTrajectory ==
nullptr)
return;
218 G4int ent = seco->GetPointEntries();
222 for (
G4int i = 1; i < ent; ++i) {
223 positionRecord->push_back((*(seco->positionRecord))[i]);
225 delete (*seco->positionRecord)[0];
226 seco->positionRecord->clear();
G4TemplateAutoLock< G4Mutex > G4AutoLock
G4Allocator< G4SmoothTrajectory > *& aSmoothTrajectoryAllocator()
#define G4MUTEX_INITIALIZER
G4GLOB_DLL std::ostream G4cout
G4int GetPDGEncoding() const
G4double GetPDGCharge() const
const G4String & GetParticleName() const
static G4ParticleTable * GetParticleTable()
friend class G4ClonedSmoothTrajectory
void MergeTrajectory(G4VTrajectory *secondTrajectory) override
G4SmoothTrajectory()=default
void AppendStep(const G4Step *aStep) override
G4int GetPointEntries() const override
std::vector< G4AttValue > * CreateAttValues() const override
G4VTrajectory * CloneForMaster() const override
void DrawTrajectory() const override
~G4SmoothTrajectory() override
G4ParticleDefinition * GetParticleDefinition()
void ShowTrajectory(std::ostream &os=G4cout) const override
const std::map< G4String, G4AttDef > * GetAttDefs() const override
const G4ThreeVector & GetPosition() const
std::vector< G4ThreeVector > * GetPointerToVectorOfAuxiliaryPoints() const
G4StepPoint * GetPostStepPoint() const
const G4ThreeVector & GetPosition() const
G4ThreeVector GetMomentum() const
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
G4int GetParentID() const
static G4String ConvertToString(G4bool boolVal)
virtual void ShowTrajectory(std::ostream &os=G4cout) const
virtual void DrawTrajectory() const
std::map< G4String, G4AttDef > * GetInstance(const G4String &storeKey, G4bool &isNew)
#define G4ThreadLocalStatic