File indexing completed on 2025-08-06 08:17:55
0001 #include "DumpGlobalVertexMap.h"
0002
0003 #include <globalvertex/GlobalVertex.h>
0004 #include <globalvertex/GlobalVertexMap.h>
0005
0006 #include <phool/PHIODataNode.h>
0007
0008 #include <map>
0009 #include <ostream>
0010 #include <string>
0011 #include <utility>
0012
0013 using MyNode_t = PHIODataNode<GlobalVertexMap>;
0014
0015 DumpGlobalVertexMap::DumpGlobalVertexMap(const std::string &NodeName)
0016 : DumpObject(NodeName)
0017 {
0018 return;
0019 }
0020
0021 int DumpGlobalVertexMap::process_Node(PHNode *myNode)
0022 {
0023 GlobalVertexMap *globalvertexmap = nullptr;
0024 MyNode_t *thisNode = static_cast<MyNode_t *>(myNode);
0025 if (thisNode)
0026 {
0027 globalvertexmap = thisNode->getData();
0028 }
0029 if (globalvertexmap)
0030 {
0031 GlobalVertexMap::ConstIter viter_beg = globalvertexmap->begin();
0032 GlobalVertexMap::ConstIter viter_end = globalvertexmap->end();
0033 *fout << "size: " << globalvertexmap->size() << std::endl;
0034 for (GlobalVertexMap::ConstIter viter = viter_beg; viter != viter_end; ++viter)
0035 {
0036 *fout << "first: " << viter->first << std::endl;
0037 *fout << "id: " << viter->second->get_id() << std::endl;
0038 *fout << "t: " << viter->second->get_t() << std::endl;
0039 *fout << "t_err: " << viter->second->get_t_err() << std::endl;
0040 *fout << "x: " << viter->second->get_x() << std::endl;
0041 *fout << "y: " << viter->second->get_y() << std::endl;
0042 *fout << "z: " << viter->second->get_z() << std::endl;
0043 *fout << "chisq: " << viter->second->get_chisq() << std::endl;
0044 *fout << "ndor: " << viter->second->get_ndof() << std::endl;
0045 for (int i = 0; i < 3; i++)
0046 {
0047 for (int j = 0; j < 3; j++)
0048 {
0049 *fout << "err[" << i << "][" << j << "]: " << viter->second->get_error(i, j) << std::endl;
0050 }
0051 }
0052 *fout << "number of v1 vertices: " << viter->second->size_vtxids() << std::endl;
0053 GlobalVertex::ConstVtxIter vtxbegin = viter->second->begin_vtxids();
0054 GlobalVertex::ConstVtxIter vtxend = viter->second->end_vtxids();
0055 for (GlobalVertex::ConstVtxIter vtxiter = vtxbegin; vtxiter != vtxend; ++vtxiter)
0056 {
0057 *fout << "type " << vtxiter->first << " id: " << vtxiter->second << std::endl;
0058 }
0059
0060 *fout << "number of v2 vertices: " << viter->second->size_vtxs() << std::endl;
0061 for (GlobalVertex::ConstVertexIter vtxiter = viter->second->begin_vertexes();
0062 vtxiter != viter->second->end_vertexes(); ++vtxiter)
0063 {
0064 *fout << "Vertex Type: " << vtxiter->first << std::endl;
0065 for (const auto *iter : vtxiter->second)
0066 {
0067 *fout << "id: " << iter->get_id() << std::endl;
0068 *fout << "beam_crossing: " << iter->get_beam_crossing() << std::endl;
0069 *fout << "t: " << iter->get_t() << std::endl;
0070 *fout << "t_err: " << iter->get_t_err() << std::endl;
0071 *fout << "x: " << iter->get_x() << std::endl;
0072 *fout << "y: " << iter->get_y() << std::endl;
0073 *fout << "z: " << iter->get_z() << std::endl;
0074 *fout << "chisq: " << iter->get_chisq() << std::endl;
0075 *fout << "ndof: " << iter->get_ndof() << std::endl;
0076 for (int i = 0; i < 3; i++)
0077 {
0078 for (int j = 0; j < 3; j++)
0079 {
0080 *fout << "err[" << i << "][" << j << "]: " << iter->get_error(i, j) << std::endl;
0081 }
0082 }
0083 }
0084 }
0085 }
0086 }
0087 return 0;
0088 }