File indexing completed on 2025-08-06 08:17:56
0001 #include "DumpPHHepMCGenEventMap.h"
0002
0003 #include <phhepmc/PHHepMCGenEvent.h>
0004 #include <phhepmc/PHHepMCGenEventMap.h>
0005
0006 #pragma GCC diagnostic push
0007 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
0008 #include <HepMC/GenEvent.h>
0009 #pragma GCC diagnostic pop
0010
0011 #include <phool/PHIODataNode.h>
0012
0013 #include <map>
0014 #include <ostream>
0015 #include <string>
0016 #include <utility>
0017
0018 using MyNode_t = PHIODataNode<PHHepMCGenEventMap>;
0019
0020 DumpPHHepMCGenEventMap::DumpPHHepMCGenEventMap(const std::string &NodeName)
0021 : DumpObject(NodeName)
0022 {
0023 return;
0024 }
0025
0026 int DumpPHHepMCGenEventMap::process_Node(PHNode *myNode)
0027 {
0028 PHHepMCGenEventMap *phhepmcgeneventmap = nullptr;
0029 MyNode_t *thisNode = static_cast<MyNode_t *>(myNode);
0030 if (thisNode)
0031 {
0032 phhepmcgeneventmap = thisNode->getData();
0033 }
0034 if (phhepmcgeneventmap)
0035 {
0036 PHHepMCGenEventMap::ConstIter iter_beg = phhepmcgeneventmap->begin();
0037 PHHepMCGenEventMap::ConstIter iter_end = phhepmcgeneventmap->end();
0038 *fout << "size: " << phhepmcgeneventmap->size() << std::endl;
0039 for (PHHepMCGenEventMap::ConstIter iter = iter_beg; iter != iter_end; ++iter)
0040 {
0041 *fout << "map entry: " << iter->first << std::endl;
0042 PHHepMCGenEvent *genevt = iter->second;
0043 *fout << "Embedding id " << genevt->get_embedding_id() << std::endl;
0044 *fout << "is simulated " << genevt->is_simulated() << std::endl;
0045 *fout << "Collision vertex x: " << genevt->get_collision_vertex().x() << std::endl;
0046 *fout << "Collision vertex y: " << genevt->get_collision_vertex().y() << std::endl;
0047 *fout << "Collision vertex z: " << genevt->get_collision_vertex().z() << std::endl;
0048 *fout << "Collision vertex t: " << genevt->get_collision_vertex().t() << std::endl;
0049 HepMC::GenEvent *evt = genevt->getEvent();
0050 if (!evt)
0051 {
0052 *fout << "GenEvent is nullptr" << std::endl;
0053 }
0054 else
0055 {
0056 evt->print(*fout);
0057 }
0058 }
0059 }
0060 return 0;
0061 }