ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EICG4dRICHTree.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file EICG4dRICHTree.h
1 //-----------------------------------------------
2 // EICG4dRICH event tree module
3 //-----------------------------------------------
4 
5 #ifndef DRICHTREE_H
6 #define DRICHTREE_H
7 
8 #include <Rtypes.h>
9 #include <TString.h>
10 #include <fun4all/SubsysReco.h>
11 #include <Geant4/G4String.hh>
12 #include <Geant4/G4ThreeVector.hh>
13 
14 // class Fun4AllHistoManager; //---
15 class PHCompositeNode;
16 class TFile;
17 class TTree;
18 // class TH1; //---
19 // class TH2; //---
20 
21 class EICG4dRICHTree : public SubsysReco
22 {
23  public:
24  // constructor
25  EICG4dRICHTree(const std::string &name = "EICG4dRICHTree",
26  const std::string &fname = "EICG4dRICHTree.root");
27 
28  // destructor
29  virtual ~EICG4dRICHTree();
30 
31  // SubsysReco processing methods:
32  int Init(PHCompositeNode *);
34  int End(PHCompositeNode *);
35 
36  private:
37  std::string m_outfileN; // output file name
38  TFile *m_outfile; // output file
39  TTree *m_tree; // the EICG4dRICH tree
40 
41  // TH1 *m_histo; //---
42  // Fun4AllHistoManager *m_hm; // histogram manager //---
43 
44  // data accessors
45  void getHits(PHCompositeNode *topNode);
46  // void getHEPMCTruth(PHCompositeNode *topNode); //---
47 
48  void vectorToArray(G4ThreeVector vec, Double_t *arr);
49  void initTrees();
50  // void resetVars(); //---
51 
52  //------------------------------
53  // tree variables
54  //------------------------------
55 
58  char hitType[128];
59  char hitSubtype[128];
61  char particleName[128];
62  char process[256];
64  Double_t hitPos[3]; // [xyz]
71 };
72 
73 #endif // DRICHTREE_H