Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VCurvedTrajectoryFilter Class Referenceabstract

#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 = nullptr
 

Detailed Description

Definition at line 50 of file G4VCurvedTrajectoryFilter.hh.

Constructor & Destructor Documentation

◆ G4VCurvedTrajectoryFilter()

G4VCurvedTrajectoryFilter::G4VCurvedTrajectoryFilter ( )

Definition at line 33 of file G4VCurvedTrajectoryFilter.cc.

34{
35}

◆ ~G4VCurvedTrajectoryFilter()

G4VCurvedTrajectoryFilter::~G4VCurvedTrajectoryFilter ( )
virtual

Definition at line 37 of file G4VCurvedTrajectoryFilter.cc.

38{
39}

Member Function Documentation

◆ CreateNewTrajectorySegment()

void G4VCurvedTrajectoryFilter::CreateNewTrajectorySegment ( )

Definition at line 58 of file G4VCurvedTrajectoryFilter.cc.

59{
60 if (fpFilteredPoints != nullptr)
61 {
62 // GimmePoints has not been called (it would have set the
63 // pointer to nullptr), therefore nobody has taken charge of the
64 // points and they will never be deleted!
65 G4cout << "!!!!!!!! Filter: auxiliary points are being memory leaked !!!!!"
66 << G4endl;
67 }
68 fpFilteredPoints = new std::vector<G4ThreeVector>;
69}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
std::vector< G4ThreeVector > * fpFilteredPoints

Referenced by G4PropagatorInField::ComputeStep().

◆ GimmeThePointsAndForgetThem()

std::vector< G4ThreeVector > * G4VCurvedTrajectoryFilter::GimmeThePointsAndForgetThem ( )

Definition at line 42 of file G4VCurvedTrajectoryFilter.cc.

43{
44 std::vector<G4ThreeVector>* tmp = fpFilteredPoints;
45 // ParticleChangeForTransport invokes this method (via
46 // PropagatorInField) at every Step, even if the step did not
47 // involve PropagatorInField. Must, therefore, ensure that points
48 // submitted by previous invocations of PIF are not
49 // copied. Therefore the points must be cleared. (Note that the
50 // responsibility for deleting the vector lies with the
51 // SmoothTrajctoryPoint, which is the vector's final destination.)
52 // (jacek 08/11/2002)
53 fpFilteredPoints = nullptr;
54 return tmp;
55}

Referenced by G4PropagatorInField::GimmeTrajectoryVectorAndForgetIt().

◆ TakeIntermediatePoint()

virtual void G4VCurvedTrajectoryFilter::TakeIntermediatePoint ( G4ThreeVector  newPoint)
pure virtual

Member Data Documentation

◆ fpFilteredPoints

std::vector<G4ThreeVector>* G4VCurvedTrajectoryFilter::fpFilteredPoints = nullptr
protected

The documentation for this class was generated from the following files: