Back to home page

sPhenix code displayed by LXR

 
 

    


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