ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RawTowerBuilderByHitIndexBECAL.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file RawTowerBuilderByHitIndexBECAL.h
1 #ifndef G4CALO__RAWTOWERBUILDERBYHITINDEXBECAL_H
2 #define G4CALO__RAWTOWERBUILDERBYHITINDEXBECAL_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  RawTowerBuilderByHitIndexBECAL(const std::string &name = "RawTowerBuilderByHitIndexBECAL");
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 
87  double thickness_wall = -1.;
88  double radius = 85.0;
89  double tower_length = 45.5;
90 
91  double m_Emin;
92 
93  std::map<std::string, double> m_GlobalParameterMap;
94 };
95 
96 #endif