]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - AliGeant4/AliTrackingAction.h
Cosmetic changes.
[u/mrichter/AliRoot.git] / AliGeant4 / AliTrackingAction.h
... / ...
CommitLineData
1// $Id$
2// Category: event
3//
4// Author: I. Hrivnacova
5//
6// Class AliTrackingAction
7// -----------------------
8// Class that takes care of storing kinematics.
9
10#ifndef ALI_TRACKING_ACTION_H
11#define ALI_TRACKING_ACTION_H
12
13#include "AliTrackingActionMessenger.h"
14
15#include "TG4TrackingAction.h"
16
17#include <globals.hh>
18
19class AliTrackInformation;
20
21class G4Track;
22
23class TClonesArray;
24
25class AliTrackingAction : public TG4TrackingAction
26{
27 public:
28 AliTrackingAction();
29 // --> protected
30 // AliTrackingAction(const AliTrackingAction& right);
31 virtual ~AliTrackingAction();
32
33 // static get method
34 static AliTrackingAction* Instance();
35
36 // methods
37 void PrepareNewEvent();
38 virtual void PreTrackingAction(const G4Track* aTrack);
39 virtual void PostTrackingAction(const G4Track* aTrack);
40 void FinishPrimaryTrack();
41 void SaveTrack(const G4Track* track);
42
43 // set methods
44 void SetVerboseLevel(G4int level);
45 void SetNewVerboseLevel(G4int level);
46 void SetNewVerboseTrackID(G4int trackID);
47 void SetSavePrimaries(G4bool savePrimaries);
48
49 // get methods
50 G4int GetVerboseLevel() const;
51 G4bool GetSavePrimaries() const;
52 G4int GetNofTracks() const;
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);
63 AliTrackInformation* GetTrackInformation(const G4Track* track,
64 const G4String& method) const;
65
66 // static data members
67 static AliTrackingAction* fgInstance; //this instance
68
69 // data members
70 AliTrackingActionMessenger fMessenger; //messenger
71 G4int fPrimaryTrackID; //current primary track ID
72 G4bool fSavePrimaries; //control of saving primaries
73 G4int fVerboseLevel; //verbose level
74 G4int fNewVerboseLevel; //new /tracking/verbose level
75 G4int fNewVerboseTrackID; //track ID for which new /tracking/verbose level
76 // is applied
77 G4int fTrackCounter; //tracks counter
78};
79
80// inline methods
81
82inline AliTrackingAction* AliTrackingAction::Instance()
83{ return fgInstance; }
84
85inline void AliTrackingAction::SetVerboseLevel(G4int level)
86{ fVerboseLevel = level; }
87
88inline void AliTrackingAction::SetSavePrimaries(G4bool savePrimaries)
89{ fSavePrimaries = savePrimaries; }
90
91inline G4int AliTrackingAction::GetVerboseLevel() const
92{ return fVerboseLevel; }
93
94inline G4bool AliTrackingAction::GetSavePrimaries() const
95{ return fSavePrimaries; }
96
97inline G4int AliTrackingAction::GetNofTracks() const
98{ return fTrackCounter; }
99
100#endif //ALI_TRACKING_ACTION_H