47#ifndef G4StackManager_hh
48#define G4StackManager_hh 1
134 {
return fDefaultClassification; }
139 {
return subEvtTypes.size(); }
141 {
return subEvtTypes[i]; }
155 void DefineDefaultClassification(
const G4Track* aTrack);
161 G4int verboseLevel = 0;
162#ifdef G4_USESMARTSTACK
170 std::vector<G4TrackStack*> additionalWaitingStacks;
171 G4int numberOfAdditionalWaitingStacks = 0;
174 std::pair<G4ClassificationOfNewTrack,G4ExceptionSeverity>>
177 std::pair<G4ClassificationOfNewTrack,G4ExceptionSeverity>>
182 std::map<G4int,G4SubEventTrackStack*> subEvtStackMap;
183 std::vector<G4int> subEvtTypes;
G4ClassificationOfNewTrack
G4int GetNTotalTrack() const
void TransferOneStackedTrack(G4ClassificationOfNewTrack origin, G4ClassificationOfNewTrack destination)
G4int GetNUrgentTrack() const
G4int GetSubEventType(std::size_t i)
G4bool operator!=(const G4StackManager &) const =delete
G4int GetNPostponedTrack() const
void SetNumberOfAdditionalWaitingStacks(G4int iAdd)
void SetVerboseLevel(G4int const value)
G4Track * PopNextTrack(G4VTrajectory **newTrajectory)
G4int PrepareNewEvent(G4Event *currentEvent)
std::size_t GetNSubEventTypes()
G4ClassificationOfNewTrack GetDefaultClassification()
const G4StackManager & operator=(const G4StackManager &)=delete
G4int PushOneTrack(G4Track *newTrack, G4VTrajectory *newTrajectory=nullptr)
void RegisterSubEventType(G4int ty, G4int maxEnt)
void ClearWaitingStack(G4int i=0)
void SetDefaultClassification(G4TrackStatus, G4ClassificationOfNewTrack, G4ExceptionSeverity es=G4ExceptionSeverity::IgnoreTheIssue)
void TransferStackedTracks(G4ClassificationOfNewTrack origin, G4ClassificationOfNewTrack destination)
void SetUserStackingAction(G4UserStackingAction *value)
void ClearPostponeStack()
G4bool operator==(const G4StackManager &) const =delete
G4int GetNWaitingTrack(G4int i=0) const
void ReleaseSubEvent(G4int ty)