ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ReadEICFiles.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ReadEICFiles.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4MAIN_READEICFILES_H
4 #define G4MAIN_READEICFILES_H
5 
6 #include <fun4all/SubsysReco.h>
7 
9 
10 #include <string>
11 
12 class PHCompositeNode;
13 class TChain;
14 
15 namespace erhic
16 {
17 class EventMC;
18 }
19 
21 {
22  public:
23  ReadEICFiles(const std::string &name = "EICReader");
24  ~ReadEICFiles() override;
25 
26  int Init(PHCompositeNode *topNode) override;
27  int process_event(PHCompositeNode *topNode) override;
28 
30  bool OpenInputFile(const std::string &name);
31 
33  void SetFirstEntry(int e) { entry = e; }
35  void SetNodeName(const std::string &s) { _node_name = s; }
36 
37  private:
39  void GetTree();
40 
42  int CreateNodeTree(PHCompositeNode *topNode);
43 
44  enum EvtGen
45  {
46  Milou = 1,
47  DEMP = 2,
48  Unknown = 100
49  };
50 
52  std::string filename;
53 
55  TChain *Tin;
56 
58  int nEntries;
59 
61  int entry;
62 
65 
69  erhic::EventMC *GenEvent;
70 
71  // output
72  std::string _node_name;
73 
74 };
75 
76 #endif /* READEICFILES_H__ */