57G4ClassificationOfNewTrack RE01StackingAction
58::ClassifyNewTrack(
const G4Track * aTrack)
60 G4ClassificationOfNewTrack classification = fUrgent;
65 if(aTrack->GetTrackStatus()==fSuspend)
74 classification = fWaiting;
76 else if(aTrack->GetParentID()==0)
81 theTrack->SetUserInformation(trackInfo);
84 return classification;
111 G4cout <<
"Tracks in tracking region have been processed. -- Stage 0 over."
127 int n_hit = CHC->entries();
129 G4int n_hitByATrack = 0;
130 for(
int i=0;i<n_hit;i++)
132 G4double edepByATrack = (*CHC)[i]->GetEdepByATrack();
135 totE += edepByATrack;
137 { (*CHC)[i]->GetTrackInformation()->Print(); }
139 G4cout <<
"Cell[" << (*CHC)[i]->GetZ() <<
","
140 << (*CHC)[i]->GetPhi() <<
"] "
141 << edepByATrack/GeV <<
" [GeV]" << G4endl;
142 (*CHC)[i]->ClearEdepByATrack();
148 "### Total energy deposition in calorimeter by a source track in "
149 << n_hitByATrack <<
" cells : " << totE / GeV <<
" (GeV)"
156 if(stackManager->GetNUrgentTrack())
161 stackManager->TransferStackedTracks(fUrgent,fWaiting);
164 stackManager->TransferOneStackedTrack(fWaiting,fUrgent);