64 fpRichPointsContainer(0),
68 fFinalKineticEnergy(0.)
100 fpInitialVolume = right.fpInitialVolume;
101 fpInitialNextVolume = right.fpInitialNextVolume;
102 fpCreatorProcess = right.fpCreatorProcess;
103 fCreatorModelID = right.fCreatorModelID;
104 fpFinalVolume = right.fpFinalVolume;
105 fpFinalNextVolume = right.fpFinalNextVolume;
106 fpEndingProcess = right.fpEndingProcess;
107 fFinalKineticEnergy = right.fFinalKineticEnergy;
109 for(
size_t i=0;i<right.fpRichPointsContainer->size();i++)
119 if (fpRichPointsContainer) {
122 for(i=0;i<fpRichPointsContainer->size();i++){
123 delete (*fpRichPointsContainer)[i];
125 fpRichPointsContainer->clear();
126 delete fpRichPointsContainer;
141 fFinalKineticEnergy =
149 if(!secondTrajectory)
return;
153 for(
G4int i=1;i<ent;i++) {
155 fpRichPointsContainer->push_back((*(seco->fpRichPointsContainer))[i]);
158 delete (*seco->fpRichPointsContainer)[0];
159 seco->fpRichPointsContainer->clear();
179 std::map<G4String,G4AttDef>* store
189 (*store)[ID] =
G4AttDef(ID,
"Initial Volume Path",
190 "Physics",
"",
"G4String");
193 (*store)[ID] =
G4AttDef(ID,
"Initial Next Volume Path",
194 "Physics",
"",
"G4String");
197 (*store)[ID] =
G4AttDef(ID,
"Creator Process Name",
198 "Physics",
"",
"G4String");
201 (*store)[ID] =
G4AttDef(ID,
"Creator Process Type Name",
202 "Physics",
"",
"G4String");
205 (*store)[ID] =
G4AttDef(ID,
"Creator Model ID",
206 "Physics",
"",
"G4int");
209 (*store)[ID] =
G4AttDef(ID,
"Creator Model Name",
210 "Physics",
"",
"G4String");
213 (*store)[ID] =
G4AttDef(ID,
"Final Volume Path",
214 "Physics",
"",
"G4String");
217 (*store)[ID] =
G4AttDef(ID,
"Final Next Volume Path",
218 "Physics",
"",
"G4String");
221 (*store)[ID] =
G4AttDef(ID,
"Ending Process Name",
222 "Physics",
"",
"G4String");
225 (*store)[ID] =
G4AttDef(ID,
"Ending Process Type Name",
226 "Physics",
"",
"G4String");
229 (*store)[ID] =
G4AttDef(ID,
"Final kinetic energy",
230 "Physics",
"G4BestUnit",
"G4double");
239 std::ostringstream oss;
241 for (
G4int i = depth; i >= 0; --i) {
244 if (i != 0) oss <<
'/';
254 if (fpInitialVolume && fpInitialVolume->
GetVolume()) {
257 values->push_back(
G4AttValue(
"IVPath",
"None",
""));
260 if (fpInitialNextVolume && fpInitialNextVolume->
GetVolume()) {
261 values->push_back(
G4AttValue(
"INVPath",
Path(fpInitialNextVolume),
""));
263 values->push_back(
G4AttValue(
"INVPath",
"None",
""));
266 if (fpCreatorProcess) {
276 values->push_back(
G4AttValue(
"CMN",creatorModelName,
""));
278 values->push_back(
G4AttValue(
"CPN",
"None",
""));
279 values->push_back(
G4AttValue(
"CPTN",
"None",
""));
280 values->push_back(
G4AttValue(
"CMID",
"None",
""));
281 values->push_back(
G4AttValue(
"CMN",
"None",
""));
284 if (fpFinalVolume && fpFinalVolume->
GetVolume()) {
287 values->push_back(
G4AttValue(
"FVPath",
"None",
""));
290 if (fpFinalNextVolume && fpFinalNextVolume->
GetVolume()) {
291 values->push_back(
G4AttValue(
"FNVPath",
Path(fpFinalNextVolume),
""));
293 values->push_back(
G4AttValue(
"FNVPath",
"None",
""));
296 if (fpEndingProcess) {
301 values->push_back(
G4AttValue(
"EPN",
"None",
""));
302 values->push_back(
G4AttValue(
"EPTN",
"None",
""));
G4int GetCreatorModelID() const
static const G4String & GetProcessTypeName(G4ProcessType)
virtual const std::map< G4String, G4AttDef > * GetAttDefs() const
virtual std::vector< G4AttValue > * CreateAttValues() const
void AppendStep(const G4Step *aStep)
void ShowTrajectory(std::ostream &os=G4cout) const
static G4String ConvertToString(G4bool boolVal)
static const G4String & GetModelName(G4int)
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
int GetPointEntries() const
G4ProcessType GetProcessType() const
G4int GetCopyNumber(G4int depth=0) const
static G4String Path(const G4TouchableHandle &th)
virtual const std::map< G4String, G4AttDef > * GetAttDefs() const
virtual void DrawTrajectory() const
G4StepPoint * GetPreStepPoint() const
const G4VProcess * GetCreatorProcess() const
G4double GetKineticEnergy() const
std::vector< G4VTrajectoryPoint * > RichTrajectoryPointsContainer
G4GLOB_DLL std::ostream G4cout
G4int GetCurrentStepNumber() const
const G4String & GetName() const
virtual std::vector< G4AttValue > * CreateAttValues() const
const G4TouchableHandle & GetNextTouchableHandle() const
virtual G4int GetHistoryDepth() const
const G4String & GetProcessName() const
const G4TouchableHandle & GetTouchableHandle() const
G4double GetTotalEnergyDeposit() const
const G4VProcess * GetProcessDefinedStep() const
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
void MergeTrajectory(G4VTrajectory *secondTrajectory)
G4StepPoint * GetPostStepPoint() const
void DrawTrajectory() const
virtual ~G4RichTrajectory()
std::map< G4String, G4AttDef > * GetInstance(const G4String &storeKey, G4bool &isNew)
G4TRACKING_DLL G4ThreadLocal G4Allocator< G4RichTrajectory > * aRichTrajectoryAllocator
G4double GetKineticEnergy() const
G4Track * GetTrack() const
virtual void ShowTrajectory(std::ostream &os=G4cout) const