]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliStackingAction.h
added inheritance from AliVerbose;
[u/mrichter/AliRoot.git] / AliGeant4 / AliStackingAction.h
CommitLineData
676fb573 1// $Id$
2// Category: event
3//
7005154f 4// Author: I. Hrivnacova
5//
6// Class AliStackingAction
7// -----------------------
8// Class that defines AliRoot specific stacking mechanism.
676fb573 9
10#ifndef ALI_STACKING_ACTION_H
11#define ALI_STACKING_ACTION_H
12
7005154f 13#include "AliStackingActionMessenger.h"
14
676fb573 15#include <G4UserStackingAction.hh>
676fb573 16#include <globals.hh>
17
676fb573 18class AliTrackingAction;
74236197 19
676fb573 20class G4Track;
74236197 21class G4TrackStack;
676fb573 22
23class AliStackingAction : public G4UserStackingAction
24{
25 public:
26 AliStackingAction();
27 // --> protected
28 // AliStackingAction(const AliStackingAction& right);
29 virtual ~AliStackingAction();
30
31 // methods
32 G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* track);
33 void NewStage();
676fb573 34 void PrepareNewEvent();
35
36 // set methods
37 void SetVerboseLevel(G4int level);
38
39 // get methods
40 G4int GetVerboseLevel() const;
41
42 protected:
43 AliStackingAction(const AliStackingAction& right);
44
45 // operators
46 AliStackingAction& operator=(const AliStackingAction& right);
47
48 private:
49 // data members
50 G4int fStage; //stage number
51 G4int fVerboseLevel; //verbose level
52 G4bool fSavePrimaries; //control of saving primaries
53 G4TrackStack* fPrimaryStack; //stack of primary tracks
54 AliTrackingAction* fTrackingAction; //AliTrackingAction
7005154f 55 AliStackingActionMessenger fMessenger; //messenger
676fb573 56};
57
58
59// inline methods
60
61inline void AliStackingAction::SetVerboseLevel(G4int level)
62{ fVerboseLevel = level; }
63
64inline G4int AliStackingAction::GetVerboseLevel() const
65{ return fVerboseLevel; }
66
67#endif //ALI_STACKING_ACTION_H
68