1#ifndef TG4_TRACK_MANAGER_H
2#define TG4_TRACK_MANAGER_H
22#include <TG4RootNavMgr.h>
25#include <G4TrackVector.hh>
26#include <G4UserTrackingAction.hh>
36class G4PrimaryParticle;
37struct TMCParticleStatus;
66 const G4Track* aTrack, G4bool overWrite =
false);
70 void TrackToStack(
const G4Track* track, G4bool overWrite =
false);
72 const G4PrimaryVertex* vertex,
const G4PrimaryParticle* particle);
74 void SaveSecondaries(
const G4Track* track,
const G4TrackVector* secondaries);
127 TG4RootNavMgr* fRootNavMgr;
129 TMCManager* fMCManager;
174 G4TrackingManager* trackingManager)
Definition of the enumeration TG4TrackSaveControl.
Definition of the TG4Verbose class.
The process which pops particles defined by user from the VMC stack and passes them to tracking.
The class for storing G4 tracks in VMC sack.
void SaveSecondaries(const G4Track *track, const G4TrackVector *secondaries)
void ResetParticlesStatus()
G4int fTrackCounter
tracks counter
void SetMCStack(TVirtualMCStack *mcStack)
G4int fCurrentTrackID
current track ID
TG4TrackSaveControl GetTrackSaveControl() const
void AddParticleStatus(const TMCParticleStatus *particleStatus)
void SetTrackSaveControl(TG4TrackSaveControl control)
G4TrackingManager * fG4TrackingManager
G4 tracking manager.
TG4StackPopper * fStackPopper
Cached pointer to thread-local stack popper.
G4int GetNofTracks() const
void SetG4TrackingManager(G4TrackingManager *trackingManager)
G4bool GetSaveDynamicCharge() const
TVirtualMCStack * fMCStack
Cached pointer to thread-local VMC stack.
TG4TrackManager & operator=(const TG4TrackManager &right)
Not implemented.
void SetBackPDGLifetime(const G4Track *aTrack)
static TG4TrackManager * Instance()
TG4TrackInformation * GetTrackInformation(const G4Track *track) const
virtual ~TG4TrackManager()
void ResetPrimaryParticleIds()
void SetParentToTrackInformation(const G4Track *aTrack)
std::vector< G4int > fPrimaryParticleIds
TG4TrackManager(const TG4TrackManager &right)
Not implemented.
G4bool IsUserTrack(const G4Track *track) const
void TrackToStack(const G4Track *track, G4bool overWrite=false)
void SetNofTracks(G4int nofTracks)
void SetMCManagerStack(TMCManagerStack *mcManagerStack)
void SetSaveDynamicCharge(G4bool saveDynamicCharge)
static G4ThreadLocal TG4TrackManager * fgInstance
this instance
std::vector< TMCParticleStatus * > fParticlesStatus
TG4TrackSaveControl fTrackSaveControl
control of saving secondaries
TMCManagerStack * fMCManagerStack
void AddPrimaryParticleId(G4int id)
void PrimaryToStack(const G4PrimaryVertex *vertex, const G4PrimaryParticle *particle)
TG4TrackInformation * SetTrackInformation(const G4Track *aTrack, G4bool overWrite=false)
G4int fNofSavedSecondaries
number of secondaries already saved
G4bool fSaveDynamicCharge
Base class for defining the verbose level and a common messenger.
TG4TrackSaveControl
Enumeration for options for storing secondary tracks.