Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ReadSynRadFiles.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ReadSynRadFiles.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4MAIN_ReadSynRadFiles_H
4 #define G4MAIN_ReadSynRadFiles_H
5 
6 #include <fun4all/SubsysReco.h>
7 
9 
10 #include <fstream>
11 #include <string>
12 
13 class PHCompositeNode;
14 class TChain;
15 
16 namespace erhic
17 {
18  class EventMC;
19 }
20 
22 {
23  public:
24  ReadSynRadFiles(const std::string &name = "ReadSynRadFiles");
25  virtual ~ReadSynRadFiles();
26 
27  int Init(PHCompositeNode *topNode);
28  int process_event(PHCompositeNode *topNode);
29 
31  bool OpenInputFile(const std::string &name);
32 
34  void SetEntryPerEvent(int e) { nEntries = e; }
36  void SetNodeName(const std::string &s) { _node_name = s; }
39  {
41  }
42 
44  void set_vertex_distribution_mean(const double x, const double y, const double z, const double t)
45  {
47  }
48 
50  void set_vertex_distribution_width(const double x, const double y, const double z, const double t)
51  {
53  }
54  //
56  void set_reuse_vertex(int src_embedding_id)
57  {
58  hepmc_helper.set_reuse_vertex(src_embedding_id);
59  }
60 
66  //
72 
74  void set_reverseXZ(bool b = true) { m_reverseXZ = b; }
75 
76  protected:
78  void GetTree();
79 
81  int CreateNodeTree(PHCompositeNode *topNode);
82 
85 
87  std::ifstream m_csv_input;
88 
90  int nEntries;
91 
93  int entry;
94 
98  erhic::EventMC *GenEvent;
99 
100  // output
102 
105 
107  bool m_reverseXZ = false;
108 };
109 
110 #endif /* ReadSynRadFiles_H__ */