Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TPCMLDataInterface.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TPCMLDataInterface.h
1 // $Id: $
2 
11 #ifndef TPCDATASTREAMEMULATOR_H_
12 #define TPCDATASTREAMEMULATOR_H_
13 
14 #include <fun4all/SubsysReco.h>
15 
16 #include <vector>
17 
18 class PHCompositeNode;
20 class SvtxEvalStack;
21 class TH1;
22 class TH2;
23 namespace H5
24 {
25 class H5File;
26 }
27 
32 {
33  public:
35  unsigned int minLayer,
36  unsigned int m_maxLayer,
37  const std::string &outputfilenamebase = "TPCMLDataInterface");
38  virtual ~TPCMLDataInterface();
39 
40  int Init(PHCompositeNode *topNode);
41  int InitRun(PHCompositeNode *topNode);
42  int process_event(PHCompositeNode *topNode);
43  int End(PHCompositeNode *topNode);
44 
45  void maxLayer(int maxLayer)
46  {
47  m_maxLayer = maxLayer;
48  }
49 
50  void minLayer(int minLayer)
51  {
53  }
54 
56  {
58  }
59 
61  {
63  }
64 
65  double getEtaAcceptanceCut() const
66  {
67  return m_etaAcceptanceCut;
68  }
69 
70  void setEtaAcceptanceCut(double etaAcceptanceCut)
71  {
72  m_etaAcceptanceCut = etaAcceptanceCut;
73  }
74 
75  double getVertexZAcceptanceCut() const
76  {
78  }
79 
80  void setVertexZAcceptanceCut(double vertexZAcceptanceCut)
81  {
82  m_vertexZAcceptanceCut = vertexZAcceptanceCut;
83  }
84 
85 
86  private:
87 #ifndef __CINT__
88 
90  int writeWavelet(int layer, int side, int phibin, int hittime, const std::vector<unsigned int> &wavelet);
91 
93 
94  bool m_strict;
96 
98  H5::H5File *m_h5File;
99 
102 
104 
108  bool m_use_initial_vertex = true;
109  bool m_use_genfit_vertex = false;
110 
111 
112  // histograms
115  TH1 *m_hNChEta;
123 
124 #endif // #ifndef __CINT__
125 };
126 
127 #endif /* TPCDATASTREAMEMULATOR_H_ */