]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliTrackingAction.h
Correcter eror by A. Dainese
[u/mrichter/AliRoot.git] / AliGeant4 / AliTrackingAction.h
CommitLineData
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 20class AliTrackInformation;
676fb573 21
22class G4Track;
23
c97337f9 24class TClonesArray;
25
297e1c5f 26class 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 81inline AliTrackingAction* AliTrackingAction::Instance()
82{ return fgInstance; }
83
676fb573 84inline void AliTrackingAction::SetSavePrimaries(G4bool savePrimaries)
85{ fSavePrimaries = savePrimaries; }
86
676fb573 87inline G4bool AliTrackingAction::GetSavePrimaries() const
88{ return fSavePrimaries; }
89
3bfabcfc 90inline G4int AliTrackingAction::GetNofTracks() const
91{ return fTrackCounter; }
92
676fb573 93#endif //ALI_TRACKING_ACTION_H