]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliTrackingAction.h
removed unneeded include
[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;
14
15class G4Track;
16
c97337f9 17class TClonesArray;
18
9bcb6317 19class AliTrackingAction : public TG4TrackingAction
676fb573 20{
21 public:
22 AliTrackingAction();
23 // --> protected
24 // AliTrackingAction(const AliTrackingAction& right);
fdfe18c5 25 virtual ~AliTrackingAction();
676fb573 26
27 // static get method
28 static AliTrackingAction* Instance();
29
30 // methods
31 void PrepareNewEvent();
9bcb6317 32 virtual void PreTrackingAction(const G4Track* aTrack);
33 virtual void PostTrackingAction(const G4Track* aTrack);
2bf39c7c 34 void SaveParticle(const G4Track* track);
676fb573 35 void SaveAndDestroyTrack();
36
37 // set methods
38 void SetVerboseLevel(G4int level);
39 void SetSavePrimaries(G4bool savePrimaries);
40
41 // get methods
42 G4int GetVerboseLevel() const;
43 G4bool GetSavePrimaries() const;
3bfabcfc 44 G4int GetNofTracks() const;
676fb573 45 G4int GetNofPrimaryTracks() const;
46 G4int GetNofSavedTracks() const;
47
48 protected:
49 AliTrackingAction(const AliTrackingAction& right);
50
51 // operators
52 AliTrackingAction& operator=(const AliTrackingAction& right);
53
54 private:
55 // methods
56 G4int GetParticleIndex(G4int trackID);
57
58 // static data members
59 static AliTrackingAction* fgInstance; //this instance
60
61 // data members
62 TClonesArray* fParticles; //AliRun::fParticles
63 G4int fPrimaryTrackID; //primary track ID
64 G4bool fSavePrimaries; //control of saving primaries
65 G4int fVerboseLevel; //verbose level
66 G4int fPrimariesCounter; //primary particles counter
67 G4int fParticlesCounter; //particles counter
3bfabcfc 68 G4int fTrackCounter; //tracks counter
676fb573 69 G4int fLastParticleIndex; //index of the last particle in fParticles
70 AliTrackingActionMessenger* fMessenger; //messenger
71};
72
73// inline methods
74
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 90inline G4int AliTrackingAction::GetNofPrimaryTracks() const
91{ return fPrimariesCounter; }
92
93inline G4int AliTrackingAction::GetNofSavedTracks() const
94{ return fParticlesCounter; }
95
96#endif //ALI_TRACKING_ACTION_H