Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:11:11

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
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 //class CDBInterface;
0021 //class CDBTTree;
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   //  CDBInterface *cdb = nullptr;
0061   //CDBTTree *cdbttree = nullptr;
0062   int m_runNumber;
0063   int m_eventNumber;
0064 
0065 };
0066 
0067 #endif  // CALOTOWEREMBED_H