ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EICG4ZDCRawTowerBuilderByHitIndex.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file EICG4ZDCRawTowerBuilderByHitIndex.h
1 #ifndef EICG4ZDC_RAWTOWERBUILDER_H
2 #define EICG4ZDC_RAWTOWERBUILDER_H
3 
5 
6 #include <fun4all/SubsysReco.h>
7 
8 #include <map>
9 #include <string>
10 
11 class PHCompositeNode;
14 
21 {
22  public:
23  EICG4ZDCRawTowerBuilderByHitIndex(const std::string &name = "EICG4ZDCRawTowerBuilderByHitIndex");
25 
26  int InitRun(PHCompositeNode *topNode) override;
27 
28  int process_event(PHCompositeNode *topNode) override;
29 
30  int End(PHCompositeNode *topNode) override;
31 
34  void Detector(const std::string &d);
35 
36  void SubDetector(const std::string &d);
37 
40  void GeometryTableFile(const std::string &d)
41  {
43  }
44 
48  void EminCut(const double e) { m_Emin = e; }
49 
53  std::string
55  {
56  return m_SimTowerNodePrefix;
57  }
58 
62  void
63  set_sim_tower_node_prefix(const std::string &simTowerNodePrefix)
64  {
65  m_SimTowerNodePrefix = simTowerNodePrefix;
66  }
67 
68  private:
73  void CreateNodes(PHCompositeNode *topNode);
74 
77  bool ReadGeometryFromTable();
78 
81 
82  std::string m_Detector;
83  std::string m_SubDetector;
84  std::string m_SimTowerNodePrefix;
85 
86  std::string m_MappingTowerFile;
87 
89 
91 
92  double m_Emin;
93  double m_TowerDepth;
96  std::map<std::string, double> m_GlobalParameterMap;
97  std::map<int, int> m_TowerIDtoLayerIDMap;
98 };
99 
100 #endif