EIC 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 
30  void set_verbosity(int verbosity) { m_Verbosity = verbosity; }
31 
32  // ---reduced sim node or better---------------------------------------------
33 
35 
38 
41 
43  bool is_primary(PHG4Shower* shower);
44 
47 
50 
53 
56 
59 
61  std::set<PHG4Shower*> all_secondary_showers(PHG4Shower* shower);
62 
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 
89  bool is_g4hit_from_primary_shower(PHG4Hit* g4hit, PHG4Shower* shower);
90 
93 
94  private:
95  void get_node_pointers(PHCompositeNode* topNode);
96 
98 
99  bool m_Strict;
101  unsigned int m_Errors;
102 };
103 
104 #endif // G4EVAL_BASETRUTHEVAL_H