52G4RayTrajectory :: G4RayTrajectory()
54 positionRecord =
new std::vector<G4RayTrajectoryPoint*>;
60 positionRecord =
new std::vector<G4RayTrajectoryPoint*>;
61 for(
size_t i=0;i<right.positionRecord->size();i++)
64 ((*(right.positionRecord))[i]);
69G4RayTrajectory :: ~G4RayTrajectory()
72 for(
size_t i=0;i<positionRecord->size();i++)
73 {
delete (*positionRecord)[i]; }
74 positionRecord->clear();
75 delete positionRecord;
82 const G4Step* aStep = theStep;
91 std::vector<G4Navigator*>::iterator iNav =
93 GetActiveNavigatorsIterator();
94 theNavigator = iNav[navID];
102 if(valid) { theLocalNormal = -theLocalNormal; }
113 G4StepPoint* preStepPoint = aStep -> GetPreStepPoint();
117 for (
G4int i = preDepth; i >= 0; --i) {
118 localPrePVPointerCopyNoPath.push_back
124 auto preIterator = sceneVisAttsMap.find(localPrePVPointerCopyNoPath);
126 if (preIterator != sceneVisAttsMap.end()) {
127 preVisAtts = &preIterator->second;
134 G4StepPoint* postStepPoint = aStep -> GetPostStepPoint();
138 for (
G4int i = postDepth; i >= 0; --i) {
139 localPostPVPointerCopyNoPath.push_back
145 auto postIterator = sceneVisAttsMap.find(localPostPVPointerCopyNoPath);
147 if (postIterator != sceneVisAttsMap.end()) {
148 postVisAtts = &postIterator->second;
154 positionRecord->push_back(trajectoryPoint);
162 if(!secondTrajectory)
return;
166 for(
G4int i=0;i<ent;i++)
168 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 void ShowTrajectory(std::ostream &) const
virtual void MergeTrajectory(G4VTrajectory *secondTrajectory)
virtual void AppendStep(const G4Step *)
virtual G4int GetPointEntries() const
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