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.
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
TG4Verbose(const G4String &cmdName)
TG4TrackSaveControl
Enumeration for options for storing secondary tracks.