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