G4TrackStack Class Reference

#include <G4TrackStack.hh>


Public Member Functions

 G4TrackStack ()
 G4TrackStack (size_t n)
 ~G4TrackStack ()
void PushToStack (const G4StackedTrack &aStackedTrack)
G4StackedTrack PopFromStack ()
void TransferTo (G4TrackStack *aStack)
void TransferTo (G4SmartTrackStack *aStack)
void clearAndDestroy ()
G4int GetNTrack () const
G4int GetMaxNTrack () const
G4int GetSafetyValve1 () const
G4int GetSafetyValve2 () const
G4int GetNStick () const
G4double getTotalEnergy (void) const
void SetSafetyValve2 (int x)


Detailed Description

Definition at line 49 of file G4TrackStack.hh.


Constructor & Destructor Documentation

G4TrackStack::G4TrackStack (  )  [inline]

Definition at line 52 of file G4TrackStack.hh.

00052 : safetyValve1(0), safetyValve2(0), nstick(0) {}

G4TrackStack::G4TrackStack ( size_t  n  )  [inline]

Definition at line 53 of file G4TrackStack.hh.

00053 : safetyValve1(4*n/5), safetyValve2(4*n/5-100), nstick(100) { reserve(n);}

G4TrackStack::~G4TrackStack (  ) 

Definition at line 35 of file G4TrackStack.cc.

References clearAndDestroy().

00036 {
00037   clearAndDestroy();
00038 }


Member Function Documentation

void G4TrackStack::clearAndDestroy (  ) 

Definition at line 40 of file G4TrackStack.cc.

Referenced by G4StackManager::ClearPostponeStack(), G4StackManager::ClearUrgentStack(), G4StackManager::ClearWaitingStack(), G4StackManager::PrepareNewEvent(), G4StackManager::TransferStackedTracks(), and ~G4TrackStack().

00041 {
00042   for( iterator i = begin(); i != end(); i++ ) {
00043     delete (*i).GetTrack();
00044     delete (*i).GetTrajectory();
00045   }
00046   clear();
00047 }

G4int G4TrackStack::GetMaxNTrack (  )  const [inline]

Definition at line 75 of file G4TrackStack.hh.

Referenced by G4StackManager::~G4StackManager().

00075 { return max_size(); }

G4int G4TrackStack::GetNStick (  )  const [inline]

Definition at line 78 of file G4TrackStack.hh.

00078 { return nstick; }

G4int G4TrackStack::GetNTrack (  )  const [inline]

Definition at line 74 of file G4TrackStack.hh.

Referenced by G4StackManager::GetNPostponedTrack(), G4StackManager::GetNTotalTrack(), G4StackManager::GetNUrgentTrack(), G4StackManager::GetNWaitingTrack(), G4StackManager::PrepareNewEvent(), G4SmartTrackStack::PushToStack(), G4StackManager::ReClassify(), and G4StackManager::TransferOneStackedTrack().

00074 { return size(); }

G4int G4TrackStack::GetSafetyValve1 (  )  const [inline]

Definition at line 76 of file G4TrackStack.hh.

Referenced by G4SmartTrackStack::PushToStack().

00076 { return safetyValve1; }

G4int G4TrackStack::GetSafetyValve2 (  )  const [inline]

Definition at line 77 of file G4TrackStack.hh.

Referenced by G4SmartTrackStack::PushToStack().

00077 { return safetyValve2; }

G4double G4TrackStack::getTotalEnergy ( void   )  const

Definition at line 61 of file G4TrackStack.cc.

Referenced by G4SmartTrackStack::dumpStatistics().

00062 {
00063         G4double totalEnergy = 0.0;
00064         for (const_iterator i = begin(); i != end(); i++) {
00065                 totalEnergy += (*i).GetTrack()->GetDynamicParticle()->GetTotalEnergy();
00066         }
00067         return totalEnergy;
00068 }

G4StackedTrack G4TrackStack::PopFromStack (  )  [inline]

Definition at line 63 of file G4TrackStack.hh.

Referenced by G4SmartTrackStack::PopFromStack(), G4StackManager::PopNextTrack(), G4StackManager::PrepareNewEvent(), G4StackManager::ReClassify(), G4StackManager::TransferOneStackedTrack(), and TransferTo().

00063 { G4StackedTrack st = back(); pop_back(); return st; }

void G4TrackStack::PushToStack ( const G4StackedTrack aStackedTrack  )  [inline]

Definition at line 62 of file G4TrackStack.hh.

Referenced by G4StackManager::PrepareNewEvent(), G4StackManager::PushOneTrack(), G4SmartTrackStack::PushToStack(), G4StackManager::ReClassify(), and G4StackManager::TransferOneStackedTrack().

00062 { push_back(aStackedTrack); }

void G4TrackStack::SetSafetyValve2 ( int  x  )  [inline]

Definition at line 81 of file G4TrackStack.hh.

00081 { safetyValve2 = x  < 0 ? 0 : x; }

void G4TrackStack::TransferTo ( G4SmartTrackStack aStack  ) 

Definition at line 55 of file G4TrackStack.cc.

References PopFromStack(), and G4SmartTrackStack::PushToStack().

00056 {
00057   while(size()) { aStack->PushToStack(PopFromStack()); }
00058 }

void G4TrackStack::TransferTo ( G4TrackStack aStack  ) 

Definition at line 49 of file G4TrackStack.cc.

Referenced by G4StackManager::PopNextTrack(), G4StackManager::PrepareNewEvent(), G4StackManager::ReClassify(), and G4StackManager::TransferStackedTracks().

00049                                                   {
00050   for(iterator i = begin(); i != end(); i++) aStack->push_back(*i);
00051   clear();
00052 }


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