Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
+20 -19
View File
@@ -24,11 +24,10 @@
// ********************************************************************
//
//
// $Id: G4SmartTrackStack.hh,v 1.3 2009-09-16 23:10:46 asaim Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// Last Modification : 09/Dec/96 M.Asai
// Last Modification : 04/Oct/12 S. Kamperis
//
@@ -41,11 +40,10 @@
// class description:
//
// This is a stack class used by G4StackManager. This class object
// stores G4StackedTrack class objects in the form of bi-directional
// linked list.
// This is a 'smart' stack class used by G4StackManager. This class object
// stores G4StackedTrack class objects in various dedicated stacks
class G4SmartTrackStack
class G4SmartTrackStack
{
public:
G4SmartTrackStack();
@@ -58,36 +56,39 @@ class G4SmartTrackStack
G4int operator!=(const G4SmartTrackStack &right) const;
public:
void PushToStack(G4StackedTrack * aStackedTrack);
G4StackedTrack * PopFromStack();
void PushToStack(const G4StackedTrack& aStackedTrack);
G4StackedTrack PopFromStack();
void clear();
void TransferTo(G4TrackStack * aStack);
void clearAndDestroy();
void TransferTo(G4TrackStack* aStack);
G4double getEnergyOfStack(G4TrackStack* aTrackStack);
void dumpStatistics();
private:
G4int fTurn;
G4int nTurn; // should be 5
G4double energies[5];
G4TrackStack* stacks[5];
// = 0 : all primaries and secondaries except followings
// = 1 : secondary neutrons
// = 2 : secondary electrons
// = 3 : secondary gammas
// = 4 : secondary positrons
G4int nStick;
G4int safetyValve1;
G4int safetyValve2;
G4int maxNTracks;
G4int nTracks;
public:
inline G4int GetNTrack() const
{ return n_stackedTrack(); }
inline G4int GetMaxNTrack() const
{ return maxNTracks; }
G4int GetNTrack() const { return nTracks; }
G4int GetMaxNTrack() const { return maxNTracks; }
private:
inline G4int n_stackedTrack() const
{
return stacks[0]->GetNTrack()+stacks[1]->GetNTrack()
+stacks[2]->GetNTrack()+stacks[3]->GetNTrack()+stacks[4]->GetNTrack();
return stacks[0]->GetNTrack() +
stacks[1]->GetNTrack() +
stacks[2]->GetNTrack() +
stacks[3]->GetNTrack() +
stacks[4]->GetNTrack();
}
};