]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/AliStackingAction.h
Added AliL3Stopwatch.
[u/mrichter/AliRoot.git] / AliGeant4 / AliStackingAction.h
1 // $Id$
2 // Category: event
3 //
4 // Author: I. Hrivnacova
5 //
6 // Class AliStackingAction
7 // -----------------------
8 // Class that defines AliRoot specific stacking mechanism.
9
10 #ifndef ALI_STACKING_ACTION_H
11 #define ALI_STACKING_ACTION_H
12
13 #include "AliVerbose.h"
14
15 #include <G4UserStackingAction.hh>
16 #include <globals.hh>
17
18 class AliTrackingAction;
19
20 class G4Track;
21 class G4TrackStack;
22
23 class AliStackingAction : public G4UserStackingAction,
24                           public AliVerbose
25 {
26   public:
27     AliStackingAction();
28     // --> protected
29     // AliStackingAction(const AliStackingAction& right);
30     virtual ~AliStackingAction();
31
32     // methods
33     G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* track);
34     void NewStage();
35     void PrepareNewEvent();
36
37   protected:
38     AliStackingAction(const AliStackingAction& right);
39
40     // operators
41     AliStackingAction& operator=(const AliStackingAction& right);
42
43   private:
44     // data members
45     G4int                        fStage;          //stage number
46     G4bool                       fSavePrimaries;  //control of saving primaries
47     G4TrackStack*                fPrimaryStack;   //stack of primary tracks
48     AliTrackingAction*           fTrackingAction; //AliTrackingAction
49 };
50
51 #endif //ALI_STACKING_ACTION_H
52