ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RawTowerBuilderByHitIndexLHCal.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file RawTowerBuilderByHitIndexLHCal.h
1 #ifndef G4CALO__RAWTOWERBUILDERBYHITINDEXLHCAL_H
2 #define G4CALO__RAWTOWERBUILDERBYHITINDEXLHCAL_H
3 
4 #include <calobase/RawTowerDefs.h>
5 
6 #include <fun4all/SubsysReco.h>
7 
8 #include <map>
9 #include <string>
10 
11 class PHCompositeNode;
12 class RawTowerContainer;
14 
21 {
22  public:
23  RawTowerBuilderByHitIndexLHCal(const std::string &name = "RawTowerBuilderByHitIndexLHCal");
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 
38  void GeometryTableFile(const std::string &d)
39  {
41  }
42 
46  void EminCut(const double e) { m_Emin = e; }
47 
51  std::string
53  {
54  return m_SimTowerNodePrefix;
55  }
56 
60  void
61  set_sim_tower_node_prefix(const std::string &simTowerNodePrefix)
62  {
63  m_SimTowerNodePrefix = simTowerNodePrefix;
64  }
65 
66  private:
71  void CreateNodes(PHCompositeNode *topNode);
72 
75  bool ReadGeometryFromTable();
76 
79 
80  std::string m_Detector;
81  std::string m_SimTowerNodePrefix;
82 
83  std::string m_MappingTowerFile;
84 
86 
90 
91  double m_RotInX;
92  double m_RotInY;
93  double m_RotInZ;
94 
95  double m_Emin;
96  double m_TowerDepth;
99  int m_NLayers;
102  std::map<std::string, double> m_GlobalParameterMap;
103 };
104 
105 #endif