53G4RayTrajectory :: G4RayTrajectory()
55 positionRecord =
new std::vector<G4RayTrajectoryPoint*>;
61 positionRecord =
new std::vector<G4RayTrajectoryPoint*>;
62 for(
size_t i=0;i<right.positionRecord->size();i++)
65 ((*(right.positionRecord))[i]);
70G4RayTrajectory :: ~G4RayTrajectory()
73 for(
size_t i=0;i<positionRecord->size();i++)
74 {
delete (*positionRecord)[i]; }
75 positionRecord->clear();
76 delete positionRecord;
83 const G4Step* aStep = theStep;
92 std::vector<G4Navigator*>::iterator iNav =
94 GetActiveNavigatorsIterator();
95 theNavigator = iNav[navID];
103 if(valid) { theLocalNormal = -theLocalNormal; }
114 G4StepPoint* preStepPoint = aStep -> GetPreStepPoint();
118 for (
G4int i = preDepth; i >= 0; --i) {
119 localPrePVPointerCopyNoPath.push_back
125 auto preIterator = sceneVisAttsMap.find(localPrePVPointerCopyNoPath);
127 if (preIterator != sceneVisAttsMap.end()) {
128 preVisAtts = &preIterator->second;
135 G4StepPoint* postStepPoint = aStep -> GetPostStepPoint();
139 for (
G4int i = postDepth; i >= 0; --i) {
140 localPostPVPointerCopyNoPath.push_back
146 auto postIterator = sceneVisAttsMap.find(localPostPVPointerCopyNoPath);
148 if (postIterator != sceneVisAttsMap.end()) {
149 postVisAtts = &postIterator->second;
155 positionRecord->push_back(trajectoryPoint);
163 if(!secondTrajectory)
return;
167 for(
G4int i=0;i<ent;i++)
169 seco->positionRecord->clear();
G4Allocator< G4RayTrajectory > *& rayTrajectoryAllocator()
std::vector< PVPointerCopyNo > PVPointerCopyNoPath
virtual G4ThreeVector GetLocalExitNormal(G4bool *valid)
const G4AffineTransform GetLocalToGlobalTransform() const
static const G4Step * GetHyperStep()
static G4int GetHypNavigatorID()
const std::map< G4ModelingParameters::PVPointerCopyNoPath, G4VisAttributes, PathLessThan > & GetSceneVisAttsMap() const
void SetStepLength(G4double val)
void SetSurfaceNormal(const G4ThreeVector &val)
void SetPreStepAtt(const G4VisAttributes *val)
void SetPostStepAtt(const G4VisAttributes *val)
virtual G4VTrajectoryPoint * GetPoint(G4int i) const
virtual int GetPointEntries() const
virtual void ShowTrajectory(std::ostream &) const
virtual void MergeTrajectory(G4VTrajectory *secondTrajectory)
virtual void AppendStep(const G4Step *)
const G4VTouchable * GetTouchable() const
G4double GetStepLength() const
static G4TransportationManager * GetTransportationManager()
G4Navigator * GetNavigatorForTracking() const
G4int GetCopyNumber(G4int depth=0) const
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
virtual G4int GetHistoryDepth() const
G4VSceneHandler * GetCurrentSceneHandler() const
static G4VisManager * GetInstance()
#define G4ThreadLocalStatic