#include <G4VCurvedTrajectoryFilter.hh>
Inheritance diagram for G4VCurvedTrajectoryFilter:
Public Member Functions | |
G4VCurvedTrajectoryFilter () | |
virtual | ~G4VCurvedTrajectoryFilter () |
void | CreateNewTrajectorySegment () |
virtual void | TakeIntermediatePoint (G4ThreeVector newPoint)=0 |
std::vector< G4ThreeVector > * | GimmeThePointsAndForgetThem () |
Protected Attributes | |
std::vector< G4ThreeVector > * | fpFilteredPoints |
Definition at line 56 of file G4VCurvedTrajectoryFilter.hh.
G4VCurvedTrajectoryFilter::G4VCurvedTrajectoryFilter | ( | ) |
Definition at line 32 of file G4VCurvedTrajectoryFilter.cc.
00033 : fpFilteredPoints(0) 00034 { 00035 }
G4VCurvedTrajectoryFilter::~G4VCurvedTrajectoryFilter | ( | ) | [virtual] |
void G4VCurvedTrajectoryFilter::CreateNewTrajectorySegment | ( | ) |
Definition at line 58 of file G4VCurvedTrajectoryFilter.cc.
References fpFilteredPoints, G4cout, and G4endl.
Referenced by G4PropagatorInField::ComputeStep().
00059 { 00060 if (fpFilteredPoints) 00061 { 00062 // GimmePoints has not been called (it would have set the 00063 // pointer to NULL), therefore nobody has taken charge of the 00064 // points and they will never be deleted! 00065 G4cout << "!!!!!!!! Filter: auxiliary points are being memory leaked !!!!!" 00066 << G4endl; 00067 } 00068 fpFilteredPoints = new std::vector<G4ThreeVector>; 00069 }
std::vector< G4ThreeVector > * G4VCurvedTrajectoryFilter::GimmeThePointsAndForgetThem | ( | ) |
Definition at line 42 of file G4VCurvedTrajectoryFilter.cc.
References fpFilteredPoints.
Referenced by G4PropagatorInField::GimmeTrajectoryVectorAndForgetIt().
00043 { 00044 std::vector<G4ThreeVector>* tmp = fpFilteredPoints; 00045 // ParticleChangeForTransport invokes this method (via 00046 // PropagatorInField) at every Step, even if the step did not 00047 // involve PropagatorInField. Must, therefore, ensure that points 00048 // submitted by previous invocations of PIF are not 00049 // copied. Therefore the points must be cleared. (Note that the 00050 // responsibility for deleting the vector lies with the 00051 // SmoothTrajctoryPoint, which is the vector's final destination.) 00052 // (jacek 08/11/2002) 00053 fpFilteredPoints = 0; 00054 return tmp; 00055 }
virtual void G4VCurvedTrajectoryFilter::TakeIntermediatePoint | ( | G4ThreeVector | newPoint | ) | [pure virtual] |
std::vector<G4ThreeVector>* G4VCurvedTrajectoryFilter::fpFilteredPoints [protected] |
Definition at line 79 of file G4VCurvedTrajectoryFilter.hh.
Referenced by CreateNewTrajectorySegment(), GimmeThePointsAndForgetThem(), and G4IdentityTrajectoryFilter::TakeIntermediatePoint().