Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4TruthTrackingAction.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4TruthTrackingAction.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4MAIN_PHG4TRUTHTRACKINGACTION_H
4 #define G4MAIN_PHG4TRUTHTRACKINGACTION_H
5 
6 #include "PHG4TrackingAction.h"
7 
8 #include <Geant4/G4ThreeVector.hh>
9 
10 #include <map>
11 #include <vector>
12 
13 class G4Track;
14 class PHCompositeNode;
17 class PHG4Particle;
18 class PHG4VtxPoint;
19 
21 {
22  public:
25 
28 
30  void PreUserTrackingAction(const G4Track*) override;
31 
32  void PostUserTrackingAction(const G4Track*) override;
33 
35  void SetInterfacePointers(PHCompositeNode*) override;
36 
37  int ResetEvent(PHCompositeNode*) override;
38 
39  private:
40  std::map<G4ThreeVector, int> m_VertexMap;
41 
44 
47 
50 
54  void UpdateG4ParticleStack(const G4Track*);
55 
57  std::vector<G4ParticleInfo> m_G4ParticleStack;
60 };
61 
62 #endif