Back to home page

sPhenix code displayed by LXR

 
 

    


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);  // NOLINT(cppcoreguidelines-pro-type-static-cast-downcast)
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 }