G4VCurvedTrajectoryFilter Class Reference

#include <G4VCurvedTrajectoryFilter.hh>

Inheritance diagram for G4VCurvedTrajectoryFilter:

G4IdentityTrajectoryFilter

Public Member Functions

 G4VCurvedTrajectoryFilter ()
virtual ~G4VCurvedTrajectoryFilter ()
void CreateNewTrajectorySegment ()
virtual void TakeIntermediatePoint (G4ThreeVector newPoint)=0
std::vector< G4ThreeVector > * GimmeThePointsAndForgetThem ()

Protected Attributes

std::vector< G4ThreeVector > * fpFilteredPoints

Detailed Description

Definition at line 56 of file G4VCurvedTrajectoryFilter.hh.


Constructor & Destructor Documentation

G4VCurvedTrajectoryFilter::G4VCurvedTrajectoryFilter (  ) 

Definition at line 32 of file G4VCurvedTrajectoryFilter.cc.

00033   : fpFilteredPoints(0)
00034 {
00035 }

G4VCurvedTrajectoryFilter::~G4VCurvedTrajectoryFilter (  )  [virtual]

Definition at line 37 of file G4VCurvedTrajectoryFilter.cc.

00038 {
00039 }


Member Function Documentation

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]

Implemented in G4IdentityTrajectoryFilter.

Referenced by G4PropagatorInField::ComputeStep().


Field Documentation

std::vector<G4ThreeVector>* G4VCurvedTrajectoryFilter::fpFilteredPoints [protected]

Definition at line 79 of file G4VCurvedTrajectoryFilter.hh.

Referenced by CreateNewTrajectorySegment(), GimmeThePointsAndForgetThem(), and G4IdentityTrajectoryFilter::TakeIntermediatePoint().


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:40 2013 for Geant4 by  doxygen 1.4.7