File indexing completed on 2025-08-06 08:17:56
0001 #include "DumpRawTowerContainer.h"
0002
0003 #include <phool/PHIODataNode.h>
0004
0005 #include <calobase/RawTower.h>
0006 #include <calobase/RawTowerContainer.h>
0007
0008 #include <map>
0009 #include <ostream>
0010 #include <string>
0011 #include <utility>
0012
0013 using MyNode_t = PHIODataNode<RawTowerContainer>;
0014
0015 DumpRawTowerContainer::DumpRawTowerContainer(const std::string &NodeName)
0016 : DumpObject(NodeName)
0017 {
0018 return;
0019 }
0020
0021 int DumpRawTowerContainer::process_Node(PHNode *myNode)
0022 {
0023 RawTowerContainer *rawtowercontainer = nullptr;
0024 MyNode_t *thisNode = static_cast<MyNode_t *>(myNode);
0025 if (thisNode)
0026 {
0027 rawtowercontainer = thisNode->getData();
0028 }
0029 if (rawtowercontainer)
0030 {
0031 RawTowerContainer::ConstIterator hiter;
0032 RawTowerContainer::ConstRange begin_end = rawtowercontainer->getTowers();
0033 *fout << "size: " << rawtowercontainer->size() << std::endl;
0034 for (hiter = begin_end.first; hiter != begin_end.second; ++hiter)
0035 {
0036 RawTower *rawtwr = hiter->second;
0037 *fout << "bineta: " << rawtwr->get_bineta() << std::endl;
0038 *fout << "binphi: " << rawtwr->get_binphi() << std::endl;
0039 *fout << "energy: " << rawtwr->get_energy() << std::endl;
0040 RawTower::CellConstRange cbegin_end = rawtwr->get_g4cells();
0041 for (RawTower::CellConstIterator iter = cbegin_end.first; iter != cbegin_end.second; ++iter)
0042 {
0043 *fout << "cell key: 0x" << std::hex << iter->first
0044 << std::dec << " edep: " << iter->second << std::endl;
0045 }
0046 RawTower::ShowerConstRange sbegin_end = rawtwr->get_g4showers();
0047 for (RawTower::ShowerConstIterator iter = sbegin_end.first; iter != sbegin_end.second; ++iter)
0048 {
0049 *fout << "shower id: " << iter->first
0050 << " edep: " << iter->second << std::endl;
0051 }
0052 }
0053 }
0054 return 0;
0055 }