Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:15:19

0001 /**                                                                                                                                                                                                       
0002  * @file TrackPidAssoc/TrackPidAssoc.cc
0003  * @author Tony Frawley
0004  * @date December 2020
0005  * @brief TrackPidAssoc implementation
0006  */
0007 
0008 #include "TrackPidAssoc.h"
0009 
0010 #include <ostream>  // for operator<<, endl, basic_ostream, ostream, basic_o...
0011 
0012 TrackPidAssoc::TrackPidAssoc() 
0013   : m_map()
0014 {
0015 }
0016 
0017 
0018 TrackPidAssoc::~TrackPidAssoc()
0019 {
0020 }
0021 
0022 void 
0023 TrackPidAssoc::Reset()
0024 {
0025   m_map.clear();
0026 }
0027 
0028 void 
0029 TrackPidAssoc::identify(std::ostream &os) const
0030 {
0031   os << "-----TrackPidAssoc-----" << std::endl;
0032   os << "Number of associations: " << m_map.size() << std::endl;
0033 
0034   for ( auto& entry : m_map )
0035   {
0036     // os << "   cluster key: 0x" << std::hex << entry.first << std::dec
0037     os << "   particle ID: "  << entry.first << std::dec
0038        << " track key: " << entry.second << std::endl;
0039   }
0040 
0041   os << "------------------------------" << std::endl;
0042 
0043   return;
0044 
0045 }
0046 
0047 void 
0048 TrackPidAssoc::addAssoc(unsigned int pid, unsigned int trid)
0049 {
0050   m_map.insert(std::make_pair(pid, trid));
0051 }
0052 
0053 TrackPidAssoc::ConstRange 
0054 TrackPidAssoc::getTracks(unsigned int pid)
0055 {
0056   ConstRange retpair;
0057   retpair.first = m_map.lower_bound(pid);
0058   retpair.second = m_map.upper_bound(pid);
0059   return retpair;
0060 }