Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:56

0001 #include "DumpSvtxTrackMap.h"
0002 
0003 #include <phool/PHIODataNode.h>
0004 
0005 #include <trackbase_historic/SvtxTrack.h>
0006 #include <trackbase_historic/SvtxTrackMap.h>
0007 #include <trackbase_historic/SvtxTrackState.h>
0008 
0009 #include <map>
0010 #include <ostream>
0011 #include <string>
0012 #include <utility>
0013 
0014 using MyNode_t = PHIODataNode<SvtxTrackMap>;
0015 
0016 DumpSvtxTrackMap::DumpSvtxTrackMap(const std::string &NodeName)
0017   : DumpObject(NodeName)
0018 {
0019   return;
0020 }
0021 
0022 int DumpSvtxTrackMap::process_Node(PHNode *myNode)
0023 {
0024   SvtxTrackMap *svtxtrackmap = nullptr;
0025   MyNode_t *thisNode = static_cast<MyNode_t *>(myNode);  // NOLINT(cppcoreguidelines-pro-type-static-cast-downcast)
0026   if (thisNode)
0027   {
0028     svtxtrackmap = thisNode->getData();
0029   }
0030   if (svtxtrackmap)
0031   {
0032     SvtxTrackMap::ConstIter hiter;
0033     *fout << "size: " << svtxtrackmap->size() << std::endl;
0034     for (hiter = svtxtrackmap->begin(); hiter != svtxtrackmap->end(); hiter++)
0035     {
0036       *fout << "id: 0x" << std::hex << hiter->second->get_id() << std::dec << std::endl;
0037       *fout << "positive_charge: " << hiter->second->get_positive_charge() << std::endl;
0038       *fout << "charge: " << hiter->second->get_charge() << std::endl;
0039       *fout << "chisq: " << hiter->second->get_chisq() << std::endl;
0040       *fout << "ndf: " << hiter->second->get_ndf() << std::endl;
0041       *fout << "dca: " << hiter->second->get_dca() << std::endl;
0042       *fout << "dca2d: " << hiter->second->get_dca2d() << std::endl;
0043       *fout << "dca2d_error: " << hiter->second->get_dca2d_error() << std::endl;
0044       *fout << "x: " << hiter->second->get_x() << std::endl;
0045       *fout << "y: " << hiter->second->get_y() << std::endl;
0046       *fout << "z: " << hiter->second->get_z() << std::endl;
0047       *fout << "px: " << hiter->second->get_px() << std::endl;
0048       *fout << "py: " << hiter->second->get_py() << std::endl;
0049       *fout << "pz: " << hiter->second->get_pz() << std::endl;
0050       for (SvtxTrack::ConstStateIter trkstates = hiter->second->begin_states();
0051            trkstates != hiter->second->end_states();
0052            ++trkstates)
0053       {
0054         *fout << "trackstate path length: " << trkstates->first << std::endl;
0055         *fout << "trackstate name: " << trkstates->second->get_name() << std::endl;
0056         *fout << "trackstate x: " << trkstates->second->get_x() << std::endl;
0057         *fout << "trackstate y: " << trkstates->second->get_y() << std::endl;
0058         *fout << "trackstate z: " << trkstates->second->get_z() << std::endl;
0059         *fout << "trackstate px: " << trkstates->second->get_px() << std::endl;
0060         *fout << "trackstate py: " << trkstates->second->get_py() << std::endl;
0061         *fout << "trackstate pz: " << trkstates->second->get_pz() << std::endl;
0062         for (int i = 0; i < 6; i++)
0063         {
0064           for (int j = 0; j < 6; j++)
0065           {
0066             *fout << "trkstate covar[" << i << ", " << j << "]: "
0067                   << trkstates->second->get_error(i, j) << std::endl;
0068           }
0069         }
0070       }
0071     }
0072   }
0073   return 0;
0074 }