EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EvalRootTTree.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file EvalRootTTree.h
1 #ifndef EVALROOTTTREE_H
2 #define EVALROOTTTREE_H
3 
4 #include <phool/PHObject.h>
5 
6 #include <cmath>
7 
8 class EvalHit;
9 class EvalTower;
10 class EvalCluster;
11 class PHG4Hit;
12 class RawTower;
13 class RawCluster;
14 class TClonesArray;
15 
16 class EvalRootTTree : public PHObject
17 {
18  public:
19  EvalRootTTree();
20  virtual ~EvalRootTTree();
21  void Reset();
22 
23  EvalHit* AddHit(const PHG4Hit* g4hit);
24  EvalTower* AddTower(const RawTower* twr);
25  EvalCluster* AddCluster(const RawCluster* clus);
26 
27  void set_event_number(const int i) { event = i; }
28  int get_event_number() const { return event; }
29 
30  void set_gpid(const int i) { gpid = i; }
31  int get_gpid() const { return gpid; }
32 
33  void set_gvx(const double v) { gvx = v; }
34  double get_gvx() const { return gvx; }
35 
36  void set_gvy(const double v) { gvy = v; }
37  double get_gvy() const { return gvy; }
38 
39  void set_gvz(const double v) { gvz = v; }
40  double get_gvz() const { return gvz; }
41 
42  void set_gpx(const double p) { gpx = p; }
43  double get_gpx() const { return gpx; }
44 
45  void set_gpy(const double p) { gpy = p; }
46  double get_gpy() const { return gpy; }
47 
48  void set_gpz(const double p) { gpz = p; }
49  double get_gpz() const { return gpz; }
50 
51  void set_ge(const double p) { ge = p; }
52  double get_ge() const { return ge; }
53 
54  void set_geta(const double d) { geta = d; }
55  double get_geta() const { return geta; }
56 
57  void set_gphi(const double d) { gphi = d; }
58  double get_gphi() const { return gphi; }
59 
60  void set_gtheta(const double d) { gtheta = d; }
61  double get_gtheta() const { return gtheta; }
62 
63  // calorimeter hits, get hit class, hit accessors are in hit class
64  void set_nhits(const int n) { nhits = n; }
65  int get_nhits() const { return nhits; }
66  void set_hesum(const double d) {hesum = d;}
67  double get_hesum() const {return hesum;}
68 
69  EvalHit* get_hit(const size_t i) const;
70 
71  void set_ntowers(const int n) { ntowers = n; }
72  int get_ntowers() const { return ntowers; }
73  void set_tesum(const double d) {tesum = d;}
74  double get_tesum() const {return tesum;}
75 
76  EvalTower* get_tower(const size_t i) const;
77 
78  void set_nclusters(const int n) { nclusters = n; }
79  int get_nclusters() const { return nclusters; }
80  void set_cesum(const double d) {cesum = d;}
81  double get_cesum() const {return cesum;}
82 
83  EvalCluster* get_cluster(const size_t i) const;
84 
85  private:
86  TClonesArray* SnglHits = nullptr;
87  TClonesArray* SnglTowers = nullptr;
88  TClonesArray* SnglClusters = nullptr;
89 
90  int event = 0;
91  int gpid = -99999;
92  int nhits = 0;
93  int ntowers = 0;
94  int nclusters = 0;
95  double hesum = 0.;
96  double tesum = 0.;
97  double cesum = 0.;
98  double gvx = NAN;
99  double gvy = NAN;
100  double gvz = NAN;
101  double gpx = NAN;
102  double gpy = NAN;
103  double ge = NAN;
104  double gpz = NAN;
105  double geta = NAN;
106  double gphi = NAN;
107  double gtheta = NAN;
108 
109  ClassDef(EvalRootTTree, 2)
110 };
111 
112 #endif