Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BaseTruthEval.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file BaseTruthEval.h
1 #ifndef G4EVAL_BASETRUTHEVAL_H
2 #define G4EVAL_BASETRUTHEVAL_H
3 
4 #include <set>
5 
6 class PHCompositeNode;
7 class PHG4Hit;
8 class PHG4Particle;
9 class PHG4Shower;
11 class PHG4VtxPoint;
12 
14 {
15  public:
16  explicit BaseTruthEval(PHCompositeNode* topNode);
17  virtual ~BaseTruthEval();
18 
20  void next_event(PHCompositeNode* topNode);
21 
24  void set_strict(bool strict) { m_Strict = strict; }
25 
27  unsigned int get_errors() { return m_Errors; }
28 
31 
32  // ---reduced sim node or better---------------------------------------------
33 
35 
38 
41 
44 
47 
50 
53 
56 
59 
61  std::set<PHG4Shower*> all_secondary_showers(PHG4Shower* shower);
62 
64  bool are_same_shower(PHG4Shower* s1, PHG4Shower* s2);
65 
68 
70  bool are_same_vertex(PHG4VtxPoint* vtx1, PHG4VtxPoint* vtx2);
71 
72  // ---full sim node required--------------------------------------------------
73 
75 
78 
81 
84 
86  PHG4Particle* get_particle(const int trackid);
87 
90 
93 
94  private:
95  void get_node_pointers(PHCompositeNode* topNode);
96 
98 
99  bool m_Strict = false;
100  int m_Verbosity = 0;
101  unsigned int m_Errors = 0;
102 };
103 
104 #endif // G4EVAL_BASETRUTHEVAL_H