File indexing completed on 2025-08-05 08:11:11
0001
0002
0003 #ifndef CALOTOWEREMBED_H
0004 #define CALOTOWEREMBED_H
0005
0006 #include <calobase/TowerInfoContainer.h> // for TowerInfoContainer, TowerIn...
0007
0008 #include <calobase/RawTowerGeom.h>
0009 #include <calobase/RawTowerGeomContainer.h>
0010
0011 #include <fun4all/SubsysReco.h>
0012
0013 #include <cassert>
0014 #include <iostream>
0015 #include <string>
0016
0017 #include "TFile.h"
0018 #include "TTree.h"
0019
0020
0021
0022 class PHCompositeNode;
0023 class TowerInfoContainerv1;
0024 class TowerInfoContainerv2;
0025 class RawTowerGeomContainer;
0026
0027 class caloTowerEmbed : public SubsysReco
0028 {
0029 public:
0030 caloTowerEmbed(const std::string &name = "caloTowerEmbed");
0031
0032 ~caloTowerEmbed() override;
0033
0034 int InitRun(PHCompositeNode *topNode) override;
0035 int process_event(PHCompositeNode *topNode) override;
0036 int End(PHCompositeNode *topNode) override;
0037 void CreateNodeTree(PHCompositeNode *topNode);
0038
0039
0040 void set_useRetower(bool a){ m_useRetower = a; };
0041
0042 enum DetectorSystem
0043 {
0044 CEMC = 0,
0045 HCALIN = 1,
0046 HCALOUT = 2,
0047 EPD = 3
0048 };
0049
0050 private:
0051 TowerInfoContainer *_data_towers[3] = {nullptr,nullptr,nullptr};
0052 TowerInfoContainer *_sim_towers[3] = {nullptr,nullptr,nullptr};
0053
0054 RawTowerGeomContainer *tower_geom = nullptr;
0055 RawTowerGeomContainer *tower_geomIH = nullptr;
0056 RawTowerGeomContainer *tower_geomOH = nullptr;
0057
0058 bool m_useRetower = false;
0059
0060
0061
0062 int m_runNumber;
0063 int m_eventNumber;
0064
0065 };
0066
0067 #endif