]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliTrackingAction.h
direct usage of AliRun::fParticles replaced with calls to AliRun; renamed methods...
[u/mrichter/AliRoot.git] / AliGeant4 / AliTrackingAction.h
CommitLineData
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 13class AliTrackingActionMessenger;
4240c1e8 14class AliTrackInformation;
676fb573 15
16class G4Track;
17
c97337f9 18class TClonesArray;
19
9bcb6317 20class 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 72inline AliTrackingAction* AliTrackingAction::Instance()
73{ return fgInstance; }
74
676fb573 75inline void AliTrackingAction::SetVerboseLevel(G4int level)
76{ fVerboseLevel = level; }
77
78inline void AliTrackingAction::SetSavePrimaries(G4bool savePrimaries)
79{ fSavePrimaries = savePrimaries; }
80
81inline G4int AliTrackingAction::GetVerboseLevel() const
82{ return fVerboseLevel; }
83
84inline G4bool AliTrackingAction::GetSavePrimaries() const
85{ return fSavePrimaries; }
86
3bfabcfc 87inline G4int AliTrackingAction::GetNofTracks() const
88{ return fTrackCounter; }
89
676fb573 90#endif //ALI_TRACKING_ACTION_H