ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EICG4RPHitTree.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file EICG4RPHitTree.h
1 #ifndef EICG4RPHITTREE_H
2 #define EICG4RPHITTREE_H
3 
4 #include <fun4all/SubsysReco.h>
5 
6 #include <map>
7 #include <set>
8 #include <string>
9 #include <vector>
10 
11 // Forward declerations
13 class PHCompositeNode;
14 class TFile;
15 class TTree;
16 
17 class EICG4RPHitTree : public SubsysReco
18 {
19  public:
21  EICG4RPHitTree(const std::string &name = "EICG4RPHitTree", const std::string &filename = "EICG4RPHitTree.root");
22 
24  ~EICG4RPHitTree() override;
25 
27  int Init(PHCompositeNode *) override;
28 
30  int process_event(PHCompositeNode *) override;
31 
33  int End(PHCompositeNode *) override;
34 
35  void AddNode(const std::string &name, const int detid = 0);
36 
37  protected:
38  std::string _filename;
39  std::set<std::string> _node_postfix;
40  std::map<std::string, int> _detid;
41  TTree *tree;
42  TFile *outfile;
43 
44  private:
45  int Nhit;
46  std::vector<int> layerType;
47  std::vector<int> layerID;
48  std::vector<int> xID;
49  std::vector<int> yID;
50  std::vector<float> x0;
51  std::vector<float> y0;
52  std::vector<float> z0;
53  std::vector<float> x1;
54  std::vector<float> y1;
55  std::vector<float> z1;
56  std::vector<float> time0;
57  std::vector<float> time1;
58  std::vector<float> edep;
59 };
60 
61 #endif