File indexing completed on 2026-04-02 08:12:39
0001 #ifndef COMBINETOWERINFO_H
0002 #define COMBINETOWERINFO_H
0003
0004 #include <fun4all/SubsysReco.h>
0005
0006 #include <string>
0007
0008 class PHCompositeNode;
0009 class TowerInfoContainer;
0010
0011 class CombineTowerInfo : public SubsysReco
0012 {
0013 public:
0014 explicit CombineTowerInfo(const std::string& name = "CombineTowerInfo");
0015 ~CombineTowerInfo() override = default;
0016
0017 int InitRun(PHCompositeNode* topNode) override;
0018 int process_event(PHCompositeNode* topNode) override;
0019
0020 void set_inputNodeA(const std::string& name) { m_inputNodeA = name; }
0021 void set_inputNodeB(const std::string& name) { m_inputNodeB = name; }
0022 void set_outputNode(const std::string& name) { m_outputNode = name; }
0023 void set_detector(const std::string& name) { m_detector = name; }
0024
0025 private:
0026 void CreateNodes(PHCompositeNode* topNode);
0027
0028 std::string m_inputNodeA;
0029 std::string m_inputNodeB;
0030 std::string m_outputNode;
0031 std::string m_detector;
0032
0033 TowerInfoContainer* m_towersA{nullptr};
0034 TowerInfoContainer* m_towersB{nullptr};
0035 TowerInfoContainer* m_towersOut{nullptr};
0036 };
0037
0038 #endif
0039