#include <G4SmartTrackStack.hh>
Definition at line 44 of file G4SmartTrackStack.hh.
◆ G4SmartTrackStack()
G4SmartTrackStack::G4SmartTrackStack |
( |
| ) |
|
◆ ~G4SmartTrackStack()
G4SmartTrackStack::~G4SmartTrackStack |
( |
| ) |
|
◆ clear()
void G4SmartTrackStack::clear |
( |
| ) |
|
Definition at line 139 of file G4SmartTrackStack.cc.
140{
141 for (
G4int i = 0; i < nTurn; ++i)
142 {
143 stacks[i]->clear();
144 energies[i] = 0.0;
145 fTurn = 0;
146 }
147 nTracks = 0;
148}
◆ clearAndDestroy()
void G4SmartTrackStack::clearAndDestroy |
( |
| ) |
|
Definition at line 150 of file G4SmartTrackStack.cc.
151{
152 for (
G4int i = 0; i < nTurn; ++i)
153 {
154 stacks[i]->clearAndDestroy();
155 energies[i] = 0.0;
156 fTurn = 0;
157 }
158 nTracks = 0;
159}
◆ dumpStatistics()
void G4SmartTrackStack::dumpStatistics |
( |
| ) |
|
Definition at line 35 of file G4SmartTrackStack.cc.
36{
37
38
39 for (
G4int i=0; i<nTurn; ++i)
40 {
41 G4cerr << stacks[i]->GetNTrack() <<
" ";
42 G4cerr << stacks[i]->getTotalEnergy() <<
" ";
43 }
45}
G4GLOB_DLL std::ostream G4cerr
◆ getEnergyOfStack()
◆ GetMaxNTrack()
G4int G4SmartTrackStack::GetMaxNTrack |
( |
| ) |
const |
|
inline |
◆ GetNTrack()
G4int G4SmartTrackStack::GetNTrack |
( |
| ) |
const |
|
inline |
◆ operator!=()
◆ operator=()
◆ operator==()
◆ PopFromStack()
Definition at line 73 of file G4SmartTrackStack.cc.
74{
76
77 if (nTracks != 0)
78 {
79 while (true)
80 {
82 {
83 aStackedTrack = stacks[fTurn]->PopFromStack();
85 --nTracks;
86 break;
87 }
88
89 fTurn = (fTurn+1) % nTurn;
90 }
91 }
92
93 return aStackedTrack;
94}
G4double GetTotalEnergy() const
G4Track * GetTrack() const
const G4DynamicParticle * GetDynamicParticle() const
◆ PushToStack()
void G4SmartTrackStack::PushToStack |
( |
const G4StackedTrack & |
aStackedTrack | ) |
|
Definition at line 101 of file G4SmartTrackStack.cc.
102{
103
106 {
109 iDest = 2;
111 iDest = 3;
113 iDest = 4;
115 iDest = 1;
116 }
117 else
118 {
119
120 fTurn = 0;
121 }
122 stacks[iDest]->PushToStack(aStackedTrack);
124 ++nTracks;
125
126 G4long dy1 = stacks[iDest]->GetNTrack() - stacks[iDest]->GetSafetyValue1();
127 G4long dy2 = stacks[fTurn]->GetNTrack() - stacks[fTurn]->GetSafetyValue2();
128
129 if (dy1 > 0 || dy1 > dy2 ||
130 (iDest == 2 &&
131 stacks[iDest]->
GetNTrack() < 50 && energies[iDest] < energies[fTurn]))
132 {
133 fTurn = iDest;
134 }
135
136 if (nTracks > maxNTracks) maxNTracks = nTracks;
137}
G4int GetParentID() const
Referenced by G4TrackStack::TransferTo().
◆ TransferTo()
Definition at line 64 of file G4SmartTrackStack.cc.
65{
66 for (auto* sp : stacks)
67 {
68 sp->TransferTo(aStack);
69 }
70 nTracks = 0;
71}
The documentation for this class was generated from the following files: