60 : fpPointsContainer(0), fTrackID(0), fParentID(0),
61 fPDGCharge(0.0), fPDGEncoding(0), fParticleName(
""),
64 fParticleDefinition = NULL;
87 fParticleDefinition=right.fParticleDefinition;
88 fParticleName = right.fParticleName;
89 fPDGCharge = right.fPDGCharge;
90 fPDGEncoding = right.fPDGEncoding;
91 fTrackID = right.fTrackID;
92 fParentID = right.fParentID;
93 fInitialMomentum = right.fInitialMomentum;
96 for(
size_t i=0;i<right.fpPointsContainer->size();++i) {
107 for(
size_t i=0;i<fpPointsContainer->size();++i){
108 delete (*fpPointsContainer)[i];
110 fpPointsContainer->clear();
112 delete fpPointsContainer;
142 if(!secondTrajectory)
return;
147 for(
G4int i=1; i<ent; ++i) {
148 fpPointsContainer->push_back((*(second->fpPointsContainer))[i]);
150 delete (*second->fpPointsContainer)[0];
151 second->fpPointsContainer->clear();
159 std::map<G4String,G4AttDef>* store
165 (*store)[ID] =
G4AttDef(ID,
"Track ID",
"Bookkeeping",
"",
"G4int");
168 (*store)[PID] =
G4AttDef(PID,
"Parent ID",
"Bookkeeping",
"",
"G4int");
171 (*store)[PN] =
G4AttDef(PN,
"Particle Name",
"Physics",
"",
"G4String");
174 (*store)[Ch] =
G4AttDef(Ch,
"Charge",
"Physics",
"e+",
"G4double");
177 (*store)[PDG] =
G4AttDef(PDG,
"PDG Encoding",
"Physics",
"",
"G4int");
181 "Momentum of track at start of trajectory",
182 "Physics",
"G4BestUnit",
"G4ThreeVector");
186 "Magnitude of momentum of track at start of trajectory",
187 "Physics",
"G4BestUnit",
"G4double");
190 (*store)[NTP] =
G4AttDef(NTP,
"No. of points",
"Bookkeeping",
"",
"G4int");
200 std::vector<G4AttValue>* values =
new std::vector<G4AttValue>;
208 values->push_back(
G4AttValue(
"PN",fParticleName,
""));
G4ParticleDefinition * GetDefinition() const
virtual const std::map< G4String, G4AttDef > * GetAttDefs() const
G4int GetParentID() const
virtual void AppendStep(const G4Step *aStep)
virtual void MergeTrajectory(G4VTrajectory *secondTrajectory)
static G4String ConvertToString(G4bool boolVal)
Definition of the WLSTrajectoryPoint class.
G4int GetPDGEncoding() const
static constexpr double second
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4ParticleDefinition * GetParticleDefinition()
const G4String & GetParticleName() const
virtual int GetPointEntries() const
G4GLOB_DLL std::ostream G4cout
virtual std::vector< G4AttValue > * CreateAttValues() const
virtual void ShowTrajectory(std::ostream &os=G4cout) const
G4ThreadLocal G4Allocator< WLSTrajectory > * WLSTrajectoryAllocator
Definition of the WLSTrajectory class.
G4ThreeVector GetMomentum() const
static G4ParticleTable * GetParticleTable()
std::vector< G4VTrajectoryPoint * > WLSTrajectoryPointContainer
std::map< G4String, G4AttDef > * GetInstance(const G4String &storeKey, G4bool &isNew)
virtual void ShowTrajectory(std::ostream &os=G4cout) const
G4double GetPDGCharge() const