File indexing completed on 2025-08-06 08:17:56
0001 #include "DumpPHG4CylinderCellGeomContainer.h"
0002
0003 #include <phool/PHIODataNode.h>
0004
0005 #include <g4detectors/PHG4CylinderCellDefs.h>
0006 #include <g4detectors/PHG4CylinderCellGeom.h>
0007 #include <g4detectors/PHG4CylinderCellGeomContainer.h>
0008
0009 #include <map>
0010 #include <ostream>
0011 #include <string>
0012 #include <utility>
0013
0014 using MyNode_t = PHIODataNode<PHG4CylinderCellGeomContainer>;
0015
0016 DumpPHG4CylinderCellGeomContainer::DumpPHG4CylinderCellGeomContainer(const std::string &NodeName)
0017 : DumpObject(NodeName)
0018 {
0019 return;
0020 }
0021
0022 int DumpPHG4CylinderCellGeomContainer::process_Node(PHNode *myNode)
0023 {
0024 PHG4CylinderCellGeomContainer *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 PHG4CylinderCellGeomContainer::ConstIterator hiter;
0033 PHG4CylinderCellGeomContainer::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 *fout << "radius: " << hiter->second->get_radius() << std::endl;
0039 *fout << "thickness: " << hiter->second->get_thickness() << std::endl;
0040 int binning = hiter->second->get_binning();
0041 *fout << "binning: " << binning << std::endl;
0042 switch (binning)
0043 {
0044 case PHG4CylinderCellDefs::sizebinning:
0045
0046 *fout << "zbins: " << hiter->second->get_zbins() << std::endl;
0047 *fout << "zmin: " << hiter->second->get_zmin() << std::endl;
0048 *fout << "zstep: " << hiter->second->get_zstep() << std::endl;
0049 break;
0050 case PHG4CylinderCellDefs::etaphibinning:
0051 *fout << "etabins: " << hiter->second->get_etabins() << std::endl;
0052 *fout << "etastep: " << hiter->second->get_etastep() << std::endl;
0053 *fout << "etamin: " << hiter->second->get_etamin() << std::endl;
0054 break;
0055 default:
0056 break;
0057 }
0058 *fout << "phibins: " << hiter->second->get_phibins() << std::endl;
0059 *fout << "phistep: " << hiter->second->get_phistep() << std::endl;
0060 *fout << "phimin: " << hiter->second->get_phimin() << std::endl;
0061 }
0062 }
0063 return 0;
0064 }