]>
Commit | Line | Data |
---|---|---|
676fb573 | 1 | // $Id$ |
2 | // Category: event | |
3 | // | |
4 | // Class that takes care of storing kinematics. | |
5 | ||
6 | #ifndef ALI_TRACKING_ACTION_H | |
7 | #define ALI_TRACKING_ACTION_H | |
8 | ||
9bcb6317 | 9 | #include "TG4TrackingAction.h" |
10 | ||
676fb573 | 11 | #include <globals.hh> |
12 | ||
676fb573 | 13 | class AliTrackingActionMessenger; |
4240c1e8 | 14 | class AliTrackInformation; |
676fb573 | 15 | |
16 | class G4Track; | |
17 | ||
c97337f9 | 18 | class TClonesArray; |
19 | ||
9bcb6317 | 20 | class AliTrackingAction : public TG4TrackingAction |
676fb573 | 21 | { |
22 | public: | |
23 | AliTrackingAction(); | |
24 | // --> protected | |
25 | // AliTrackingAction(const AliTrackingAction& right); | |
fdfe18c5 | 26 | virtual ~AliTrackingAction(); |
676fb573 | 27 | |
28 | // static get method | |
29 | static AliTrackingAction* Instance(); | |
30 | ||
31 | // methods | |
32 | void PrepareNewEvent(); | |
9bcb6317 | 33 | virtual void PreTrackingAction(const G4Track* aTrack); |
34 | virtual void PostTrackingAction(const G4Track* aTrack); | |
4240c1e8 | 35 | void FinishPrimaryTrack(); |
36 | void SaveTrack(const G4Track* track); | |
676fb573 | 37 | |
38 | // set methods | |
39 | void SetVerboseLevel(G4int level); | |
40 | void SetSavePrimaries(G4bool savePrimaries); | |
41 | ||
42 | // get methods | |
43 | G4int GetVerboseLevel() const; | |
44 | G4bool GetSavePrimaries() const; | |
3bfabcfc | 45 | G4int GetNofTracks() const; |
676fb573 | 46 | |
47 | protected: | |
48 | AliTrackingAction(const AliTrackingAction& right); | |
49 | ||
50 | // operators | |
51 | AliTrackingAction& operator=(const AliTrackingAction& right); | |
52 | ||
53 | private: | |
54 | // methods | |
55 | G4int GetParticleIndex(G4int trackID); | |
4240c1e8 | 56 | AliTrackInformation* GetTrackInformation(const G4Track* track, |
57 | const G4String& method) const; | |
676fb573 | 58 | |
59 | // static data members | |
60 | static AliTrackingAction* fgInstance; //this instance | |
61 | ||
62 | // data members | |
676fb573 | 63 | AliTrackingActionMessenger* fMessenger; //messenger |
4240c1e8 | 64 | G4int fPrimaryTrackID; //current primary track ID |
65 | G4bool fSavePrimaries; //control of saving primaries | |
66 | G4int fVerboseLevel; //verbose level | |
67 | G4int fTrackCounter; //tracks counter | |
676fb573 | 68 | }; |
69 | ||
70 | // inline methods | |
71 | ||
4240c1e8 | 72 | inline AliTrackingAction* AliTrackingAction::Instance() |
73 | { return fgInstance; } | |
74 | ||
676fb573 | 75 | inline void AliTrackingAction::SetVerboseLevel(G4int level) |
76 | { fVerboseLevel = level; } | |
77 | ||
78 | inline void AliTrackingAction::SetSavePrimaries(G4bool savePrimaries) | |
79 | { fSavePrimaries = savePrimaries; } | |
80 | ||
81 | inline G4int AliTrackingAction::GetVerboseLevel() const | |
82 | { return fVerboseLevel; } | |
83 | ||
84 | inline G4bool AliTrackingAction::GetSavePrimaries() const | |
85 | { return fSavePrimaries; } | |
86 | ||
3bfabcfc | 87 | inline G4int AliTrackingAction::GetNofTracks() const |
88 | { return fTrackCounter; } | |
89 | ||
676fb573 | 90 | #endif //ALI_TRACKING_ACTION_H |