EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4PhenixTrackingAction.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4PhenixTrackingAction.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4MAIN_PHG4PHENIXTRACKINGACTION_H
4 #define G4MAIN_PHG4PHENIXTRACKINGACTION_H
5 
6 #include <Geant4/G4UserTrackingAction.hh>
7 #include <list>
8 
9 // Master UserTrackingAction: tracking actions can be registered with this class
10 // and they will be called in the order of registration.
11 
12 class G4Track;
13 class PHG4TrackingAction;
14 
15 class PHG4PhenixTrackingAction : public G4UserTrackingAction
16 {
17 public:
19 
20  ~PHG4PhenixTrackingAction() override;
21 
23  void AddAction( PHG4TrackingAction* action ) { actions_.push_back( action ); }
24 
25  void PreUserTrackingAction(const G4Track*) override;
26 
27  void PostUserTrackingAction(const G4Track*) override;
28 
30  void Verbosity(int val) { verbosity_ = val; }
31  int Verbosity() const { return verbosity_; }
32 
33 private:
34 
36  typedef std::list<PHG4TrackingAction*> ActionList;
39 };
40 
41 
42 #endif