69 fPreStepPointGlobalTime(aTrack->GetGlobalTime()),
70 fPostStepPointGlobalTime(aTrack->GetGlobalTime()),
71 fpPreStepPointVolume(aTrack->GetTouchableHandle()),
72 fpPostStepPointVolume(aTrack->GetNextTouchableHandle()),
73 fPreStepPointWeight(aTrack->GetWeight()),
74 fPostStepPointWeight(aTrack->GetWeight())
80 fpAuxiliaryPointVector(aStep->GetPointerToVectorOfAuxiliaryPoints()),
81 fTotEDep(aStep->GetTotalEnergyDeposit())
100 fPreStepPointWeight = preStepPoint->
GetWeight();
101 fPostStepPointWeight = postStepPoint->
GetWeight();
106 fpAuxiliaryPointVector(r.fpAuxiliaryPointVector),
107 fTotEDep(r.fTotEDep),
108 fRemainingEnergy(r.fRemainingEnergy),
109 fpProcess(r.fpProcess),
110 fPreStepPointStatus(r.fPreStepPointStatus),
111 fPostStepPointStatus(r.fPostStepPointStatus),
112 fPreStepPointGlobalTime(r.fPreStepPointGlobalTime),
113 fPostStepPointGlobalTime(r.fPostStepPointGlobalTime),
114 fpPreStepPointVolume(r.fpPreStepPointVolume),
115 fpPostStepPointVolume(r.fpPostStepPointVolume),
116 fPreStepPointWeight(r.fPreStepPointWeight),
117 fPostStepPointWeight(r.fPostStepPointWeight)
123 delete fpAuxiliaryPointVector;
129 std::map<G4String,G4AttDef>* store
139 (*store)[ID] =
G4AttDef(ID,
"Auxiliary Point Position",
140 "Physics",
"G4BestUnit",
"G4ThreeVector");
142 (*store)[ID] =
G4AttDef(ID,
"Total Energy Deposit",
143 "Physics",
"G4BestUnit",
"G4double");
145 (*store)[ID] =
G4AttDef(ID,
"Remaining Energy",
146 "Physics",
"G4BestUnit",
"G4double");
148 (*store)[ID] =
G4AttDef(ID,
"Process Defined Step",
149 "Physics",
"",
"G4String");
151 (*store)[ID] =
G4AttDef(ID,
"Process Type Defined Step",
152 "Physics",
"",
"G4String");
154 (*store)[ID] =
G4AttDef(ID,
"Pre-step-point status",
155 "Physics",
"",
"G4String");
157 (*store)[ID] =
G4AttDef(ID,
"Post-step-point status",
158 "Physics",
"",
"G4String");
160 (*store)[ID] =
G4AttDef(ID,
"Pre-step-point global time",
161 "Physics",
"G4BestUnit",
"G4double");
163 (*store)[ID] =
G4AttDef(ID,
"Post-step-point global time",
164 "Physics",
"G4BestUnit",
"G4double");
166 (*store)[ID] =
G4AttDef(ID,
"Pre-step Volume Path",
167 "Physics",
"",
"G4String");
169 (*store)[ID] =
G4AttDef(ID,
"Post-step Volume Path",
170 "Physics",
"",
"G4String");
172 (*store)[ID] =
G4AttDef(ID,
"Pre-step-point weight",
173 "Physics",
"",
"G4double");
175 (*store)[ID] =
G4AttDef(ID,
"Post-step-point weight",
176 "Physics",
"",
"G4double");
193 case fUndefined: status =
"fUndefined";
break;
194 default: status =
"Not recognised";
break;
201 std::ostringstream oss;
203 for (
G4int i = depth; i >= 0; --i)
207 if (i != 0) oss <<
'/';
218 if (fpAuxiliaryPointVector !=
nullptr)
220 for (
auto iAux = fpAuxiliaryPointVector->cbegin();
221 iAux != fpAuxiliaryPointVector->cend(); ++iAux)
230 if (fpProcess !=
nullptr)
240 values->push_back(
G4AttValue(
"PDS",
"None",
""));
241 values->push_back(
G4AttValue(
"PTDS",
"None",
""));
245 (
G4AttValue(
"PreStatus",Status(fPreStepPointStatus),
""));
248 (
G4AttValue(
"PostStatus",Status(fPostStepPointStatus),
""));
256 if (fpPreStepPointVolume && fpPreStepPointVolume->
GetVolume())
258 values->push_back(
G4AttValue(
"PreVPath",Path(fpPreStepPointVolume),
""));
262 values->push_back(
G4AttValue(
"PreVPath",
"None",
""));
265 if (fpPostStepPointVolume && fpPostStepPointVolume->
GetVolume())
267 values->push_back(
G4AttValue(
"PostVPath",Path(fpPostStepPointVolume),
""));
271 values->push_back(
G4AttValue(
"PostVPath",
"None",
""));
274 std::ostringstream oss1;
275 oss1 << fPreStepPointWeight;
276 values->push_back(
G4AttValue(
"PreW",oss1.str(),
""));
278 std::ostringstream oss2;
279 oss2 << fPostStepPointWeight;
280 values->push_back(
G4AttValue(
"PostW",oss2.str(),
""));
G4Allocator< G4RichTrajectoryPoint > *& aRichTrajectoryPointAllocator()
G4GLOB_DLL std::ostream G4cout
virtual ~G4RichTrajectoryPoint()
virtual const std::map< G4String, G4AttDef > * GetAttDefs() const
virtual std::vector< G4AttValue > * CreateAttValues() const
G4StepStatus GetStepStatus() const
G4double GetGlobalTime() const
const G4VProcess * GetProcessDefinedStep() const
const G4TouchableHandle & GetTouchableHandle() const
G4double GetKineticEnergy() const
G4double GetWeight() const
G4Track * GetTrack() const
G4StepPoint * GetPreStepPoint() const
G4StepPoint * GetPostStepPoint() const
G4int GetCurrentStepNumber() const
G4double GetKineticEnergy() const
virtual const std::map< G4String, G4AttDef > * GetAttDefs() const
virtual std::vector< G4AttValue > * CreateAttValues() const
const G4String & GetName() const
static const G4String & GetProcessTypeName(G4ProcessType)
G4ProcessType GetProcessType() const
const G4String & GetProcessName() const
G4int GetCopyNumber(G4int depth=0) const
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
virtual G4int GetHistoryDepth() const
std::map< G4String, G4AttDef > * GetInstance(const G4String &storeKey, G4bool &isNew)
#define G4ThreadLocalStatic