67 fpAuxiliaryPointVector(0),
73 fPreStepPointGlobalTime(0),
74 fPostStepPointGlobalTime(0),
75 fPreStepPointWeight(1.),
76 fPostStepPointWeight(1.)
81 fpAuxiliaryPointVector(0),
83 fRemainingEnergy(aTrack->GetKineticEnergy()),
87 fPreStepPointGlobalTime(aTrack->GetGlobalTime()),
88 fPostStepPointGlobalTime(aTrack->GetGlobalTime()),
89 fpPreStepPointVolume(aTrack->GetTouchableHandle()),
90 fpPostStepPointVolume(aTrack->GetNextTouchableHandle()),
91 fPreStepPointWeight(aTrack->GetWeight()),
92 fPostStepPointWeight(aTrack->GetWeight())
97 fpAuxiliaryPointVector(aStep->GetPointerToVectorOfAuxiliaryPoints()),
98 fTotEDep(aStep->GetTotalEnergyDeposit())
114 fPreStepPointWeight = preStepPoint->
GetWeight();
115 fPostStepPointWeight = postStepPoint->
GetWeight();
148 fpAuxiliaryPointVector(right.fpAuxiliaryPointVector),
149 fTotEDep(right.fTotEDep),
150 fRemainingEnergy(right.fRemainingEnergy),
151 fpProcess(right.fpProcess),
152 fPreStepPointStatus(right.fPreStepPointStatus),
153 fPostStepPointStatus(right.fPostStepPointStatus),
154 fPreStepPointGlobalTime(right.fPreStepPointGlobalTime),
155 fPostStepPointGlobalTime(right.fPostStepPointGlobalTime),
156 fpPreStepPointVolume(right.fpPreStepPointVolume),
157 fpPostStepPointVolume(right.fpPostStepPointVolume),
158 fPreStepPointWeight(right.fPreStepPointWeight),
159 fPostStepPointWeight(right.fPostStepPointWeight)
164 if(fpAuxiliaryPointVector) {
170 delete fpAuxiliaryPointVector;
174const std::map<G4String,G4AttDef>*
178 std::map<G4String,G4AttDef>* store
188 (*store)[ID] =
G4AttDef(ID,
"Auxiliary Point Position",
189 "Physics",
"G4BestUnit",
"G4ThreeVector");
191 (*store)[ID] =
G4AttDef(ID,
"Total Energy Deposit",
192 "Physics",
"G4BestUnit",
"G4double");
194 (*store)[ID] =
G4AttDef(ID,
"Remaining Energy",
195 "Physics",
"G4BestUnit",
"G4double");
197 (*store)[ID] =
G4AttDef(ID,
"Process Defined Step",
198 "Physics",
"",
"G4String");
200 (*store)[ID] =
G4AttDef(ID,
"Process Type Defined Step",
201 "Physics",
"",
"G4String");
203 (*store)[ID] =
G4AttDef(ID,
"Pre-step-point status",
204 "Physics",
"",
"G4String");
206 (*store)[ID] =
G4AttDef(ID,
"Post-step-point status",
207 "Physics",
"",
"G4String");
209 (*store)[ID] =
G4AttDef(ID,
"Pre-step-point global time",
210 "Physics",
"G4BestUnit",
"G4double");
212 (*store)[ID] =
G4AttDef(ID,
"Post-step-point global time",
213 "Physics",
"G4BestUnit",
"G4double");
215 (*store)[ID] =
G4AttDef(ID,
"Pre-step Volume Path",
216 "Physics",
"",
"G4String");
218 (*store)[ID] =
G4AttDef(ID,
"Post-step Volume Path",
219 "Physics",
"",
"G4String");
221 (*store)[ID] =
G4AttDef(ID,
"Pre-step-point weight",
222 "Physics",
"",
"G4double");
224 (*store)[ID] =
G4AttDef(ID,
"Post-step-point weight",
225 "Physics",
"",
"G4double");
241 case fUndefined: status =
"fUndefined";
break;
242 default: status =
"Not recognised";
break;
249 std::ostringstream oss;
251 for (
G4int i = depth; i >= 0; --i) {
254 if (i != 0) oss <<
'/';
264 if (fpAuxiliaryPointVector) {
265 std::vector<G4ThreeVector>::iterator iAux;
266 for (iAux = fpAuxiliaryPointVector->begin();
267 iAux != fpAuxiliaryPointVector->end(); ++iAux) {
284 values->push_back(
G4AttValue(
"PDS",
"None",
""));
285 values->push_back(
G4AttValue(
"PTDS",
"None",
""));
289 (
G4AttValue(
"PreStatus",Status(fPreStepPointStatus),
""));
292 (
G4AttValue(
"PostStatus",Status(fPostStepPointStatus),
""));
300 if (fpPreStepPointVolume && fpPreStepPointVolume->
GetVolume()) {
301 values->push_back(
G4AttValue(
"PreVPath",Path(fpPreStepPointVolume),
""));
303 values->push_back(
G4AttValue(
"PreVPath",
"None",
""));
306 if (fpPostStepPointVolume && fpPostStepPointVolume->
GetVolume()) {
307 values->push_back(
G4AttValue(
"PostVPath",Path(fpPostStepPointVolume),
""));
309 values->push_back(
G4AttValue(
"PostVPath",
"None",
""));
313 std::ostringstream oss;
314 oss << fPreStepPointWeight;
320 std::ostringstream oss;
321 oss << fPostStepPointWeight;
G4Allocator< G4RichTrajectoryPoint > aRichTrajectoryPointAllocator
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4DLLIMPORT 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(G4String storeKey, G4bool &isNew)