File indexing completed on 2025-08-06 08:17:55
0001 #include "DumpPHG4BlockCellGeomContainer.h"
0002
0003 #include <phool/PHIODataNode.h>
0004
0005 #include <g4detectors/PHG4BlockCellGeom.h>
0006 #include <g4detectors/PHG4BlockCellGeomContainer.h>
0007 #include <g4detectors/PHG4CylinderCellDefs.h>
0008
0009 #include <map>
0010 #include <ostream>
0011 #include <string>
0012 #include <utility>
0013
0014 using MyNode_t = PHIODataNode<PHG4BlockCellGeomContainer>;
0015
0016 DumpPHG4BlockCellGeomContainer::DumpPHG4BlockCellGeomContainer(const std::string &NodeName)
0017 : DumpObject(NodeName)
0018 {
0019 return;
0020 }
0021
0022 int DumpPHG4BlockCellGeomContainer::process_Node(PHNode *myNode)
0023 {
0024 PHG4BlockCellGeomContainer *phg4geomcontainer = nullptr;
0025 MyNode_t *thisNode = static_cast<MyNode_t *>(myNode);
0026 if (thisNode)
0027 {
0028 phg4geomcontainer = thisNode->getData();
0029 }
0030 if (phg4geomcontainer)
0031 {
0032 PHG4BlockCellGeomContainer::ConstIterator hiter;
0033 PHG4BlockCellGeomContainer::ConstRange geom_begin_end = phg4geomcontainer->get_begin_end();
0034 *fout << "num layers: " << phg4geomcontainer->get_NLayers() << std::endl;
0035 for (hiter = geom_begin_end.first; hiter != geom_begin_end.second; hiter++)
0036 {
0037 *fout << "layer: " << hiter->second->get_layer() << std::endl;
0038 int binning = hiter->second->get_binning();
0039 *fout << "binning: " << binning << std::endl;
0040 switch (binning)
0041 {
0042 case PHG4CylinderCellDefs::sizebinning:
0043
0044 *fout << "zbins: " << hiter->second->get_zbins() << std::endl;
0045 *fout << "zmin: " << hiter->second->get_zmin() << std::endl;
0046 *fout << "zstep: " << hiter->second->get_zstep() << std::endl;
0047 *fout << "xbins: " << hiter->second->get_xbins() << std::endl;
0048 *fout << "xmin: " << hiter->second->get_xmin() << std::endl;
0049 *fout << "xstep: " << hiter->second->get_xstep() << std::endl;
0050 break;
0051 case PHG4CylinderCellDefs::etaphibinning:
0052 case PHG4CylinderCellDefs::etaslatbinning:
0053 *fout << "etabins: " << hiter->second->get_etabins() << std::endl;
0054 *fout << "etastep: " << hiter->second->get_etastep() << std::endl;
0055 *fout << "etamin: " << hiter->second->get_etamin() << std::endl;
0056 *fout << "xbins: " << hiter->second->get_xbins() << std::endl;
0057 *fout << "xmin: " << hiter->second->get_xmin() << std::endl;
0058 *fout << "xstep: " << hiter->second->get_xstep() << std::endl;
0059 break;
0060 default:
0061 break;
0062 }
0063 }
0064 }
0065 return 0;
0066 }