63 fpRichPointsContainer(0),
66 fFinalKineticEnergy(0.)
96 fpInitialVolume = right.fpInitialVolume;
97 fpInitialNextVolume = right.fpInitialNextVolume;
98 fpCreatorProcess = right.fpCreatorProcess;
99 fpFinalVolume = right.fpFinalVolume;
100 fpFinalNextVolume = right.fpFinalNextVolume;
101 fpEndingProcess = right.fpEndingProcess;
102 fFinalKineticEnergy = right.fFinalKineticEnergy;
104 for(
size_t i=0;i<right.fpRichPointsContainer->size();i++)
114 if (fpRichPointsContainer) {
117 for(i=0;i<fpRichPointsContainer->size();i++){
118 delete (*fpRichPointsContainer)[i];
120 fpRichPointsContainer->clear();
121 delete fpRichPointsContainer;
136 fFinalKineticEnergy =
144 if(!secondTrajectory)
return;
148 for(
G4int i=1;i<ent;i++) {
150 fpRichPointsContainer->push_back((*(seco->fpRichPointsContainer))[i]);
153 delete (*seco->fpRichPointsContainer)[0];
154 seco->fpRichPointsContainer->clear();
160 std::map<G4String,G4AttDef>* store
170 (*store)[ID] =
G4AttDef(ID,
"Initial Volume Path",
171 "Physics",
"",
"G4String");
174 (*store)[ID] =
G4AttDef(ID,
"Initial Next Volume Path",
175 "Physics",
"",
"G4String");
178 (*store)[ID] =
G4AttDef(ID,
"Creator Process Name",
179 "Physics",
"",
"G4String");
182 (*store)[ID] =
G4AttDef(ID,
"Creator Process Type Name",
183 "Physics",
"",
"G4String");
186 (*store)[ID] =
G4AttDef(ID,
"Final Volume Path",
187 "Physics",
"",
"G4String");
190 (*store)[ID] =
G4AttDef(ID,
"Final Next Volume Path",
191 "Physics",
"",
"G4String");
194 (*store)[ID] =
G4AttDef(ID,
"Ending Process Name",
195 "Physics",
"",
"G4String");
198 (*store)[ID] =
G4AttDef(ID,
"Ending Process Type Name",
199 "Physics",
"",
"G4String");
202 (*store)[ID] =
G4AttDef(ID,
"Final kinetic energy",
203 "Physics",
"G4BestUnit",
"G4double");
212 std::ostringstream oss;
214 for (
G4int i = depth; i >= 0; --i) {
217 if (i != 0) oss <<
'/';
227 if (fpInitialVolume && fpInitialVolume->
GetVolume()) {
228 values->push_back(
G4AttValue(
"IVPath",Path(fpInitialVolume),
""));
230 values->push_back(
G4AttValue(
"IVPath",
"None",
""));
233 if (fpInitialNextVolume && fpInitialNextVolume->
GetVolume()) {
234 values->push_back(
G4AttValue(
"INVPath",Path(fpInitialNextVolume),
""));
236 values->push_back(
G4AttValue(
"INVPath",
"None",
""));
239 if (fpCreatorProcess) {
244 values->push_back(
G4AttValue(
"CPN",
"None",
""));
245 values->push_back(
G4AttValue(
"CPTN",
"None",
""));
248 if (fpFinalVolume && fpFinalVolume->
GetVolume()) {
249 values->push_back(
G4AttValue(
"FVPath",Path(fpFinalVolume),
""));
251 values->push_back(
G4AttValue(
"FVPath",
"None",
""));
254 if (fpFinalNextVolume && fpFinalNextVolume->
GetVolume()) {
255 values->push_back(
G4AttValue(
"FNVPath",Path(fpFinalNextVolume),
""));
257 values->push_back(
G4AttValue(
"FNVPath",
"None",
""));
260 if (fpEndingProcess) {
265 values->push_back(
G4AttValue(
"EPN",
"None",
""));
266 values->push_back(
G4AttValue(
"EPTN",
"None",
""));
G4Allocator< G4RichTrajectory > aRichTrajectoryAllocator
std::vector< G4VTrajectoryPoint * > RichTrajectoryPointsContainer
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4DLLIMPORT std::ostream G4cout
virtual ~G4RichTrajectory()
void AppendStep(const G4Step *aStep)
virtual std::vector< G4AttValue > * CreateAttValues() const
int GetPointEntries() const
void MergeTrajectory(G4VTrajectory *secondTrajectory)
virtual const std::map< G4String, G4AttDef > * GetAttDefs() const
const G4VProcess * GetProcessDefinedStep() const
G4double GetKineticEnergy() const
G4Track * GetTrack() const
G4StepPoint * GetPreStepPoint() const
G4double GetTotalEnergyDeposit() const
G4StepPoint * GetPostStepPoint() const
const G4TouchableHandle & GetNextTouchableHandle() const
const G4VProcess * GetCreatorProcess() const
G4int GetCurrentStepNumber() const
const G4TouchableHandle & GetTouchableHandle() 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)