4 // Class that takes care of storing kinematics.
6 #ifndef ALI_TRACKING_ACTION_H
7 #define ALI_TRACKING_ACTION_H
9 #include "TG4TrackingAction.h"
13 class AliTrackingActionMessenger;
14 class AliTrackInformation;
20 class AliTrackingAction : public TG4TrackingAction
25 // AliTrackingAction(const AliTrackingAction& right);
26 virtual ~AliTrackingAction();
29 static AliTrackingAction* Instance();
32 void PrepareNewEvent();
33 virtual void PreTrackingAction(const G4Track* aTrack);
34 virtual void PostTrackingAction(const G4Track* aTrack);
35 void FinishPrimaryTrack();
36 void SaveTrack(const G4Track* track);
39 void SetVerboseLevel(G4int level);
40 void SetNewVerboseLevel(G4int level);
41 void SetNewVerboseTrackID(G4int trackID);
42 void SetSavePrimaries(G4bool savePrimaries);
45 G4int GetVerboseLevel() const;
46 G4bool GetSavePrimaries() const;
47 G4int GetNofTracks() const;
50 AliTrackingAction(const AliTrackingAction& right);
53 AliTrackingAction& operator=(const AliTrackingAction& right);
57 G4int GetParticleIndex(G4int trackID);
58 AliTrackInformation* GetTrackInformation(const G4Track* track,
59 const G4String& method) const;
61 // static data members
62 static AliTrackingAction* fgInstance; //this instance
65 AliTrackingActionMessenger* fMessenger; //messenger
66 G4int fPrimaryTrackID; //current primary track ID
67 G4bool fSavePrimaries; //control of saving primaries
68 G4int fVerboseLevel; //verbose level
69 G4int fNewVerboseLevel; //new /tracking/verbose level
70 G4int fNewVerboseTrackID;//track ID for which new /tracking/verbose level is applied
71 G4int fTrackCounter; //tracks counter
76 inline AliTrackingAction* AliTrackingAction::Instance()
77 { return fgInstance; }
79 inline void AliTrackingAction::SetVerboseLevel(G4int level)
80 { fVerboseLevel = level; }
82 inline void AliTrackingAction::SetSavePrimaries(G4bool savePrimaries)
83 { fSavePrimaries = savePrimaries; }
85 inline G4int AliTrackingAction::GetVerboseLevel() const
86 { return fVerboseLevel; }
88 inline G4bool AliTrackingAction::GetSavePrimaries() const
89 { return fSavePrimaries; }
91 inline G4int AliTrackingAction::GetNofTracks() const
92 { return fTrackCounter; }
94 #endif //ALI_TRACKING_ACTION_H