Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:14:07

0001 #include "PidInfoContainer.h"
0002 #include "PidInfo.h"
0003 
0004 #include <cstdlib>
0005 #include <iostream>
0006 
0007 using namespace std;
0008 
0009 PidInfoContainer::ConstRange
0010 PidInfoContainer::getPidInfos( void ) const
0011 {
0012   return make_pair(_pidinfos.begin(), _pidinfos.end());
0013 }
0014 
0015 PidInfoContainer::Range
0016 PidInfoContainer::getPidInfos( void )
0017 {
0018   return make_pair(_pidinfos.begin(), _pidinfos.end());
0019 }
0020 
0021 PidInfoContainer::ConstIterator
0022 PidInfoContainer::AddPidInfo(PidInfo *pidinfo)
0023 {
0024   unsigned int key = pidinfo->get_track_id();
0025   _pidinfos[key] = pidinfo;
0026   return _pidinfos.find(key);
0027 }
0028 
0029 PidInfo *
0030 PidInfoContainer::getPidInfo(const int key)
0031 {
0032   Iterator it = _pidinfos.find(key);
0033   if (it != _pidinfos.end())
0034     {
0035       return it->second;
0036     }
0037   return NULL;
0038 }
0039 
0040 int
0041 PidInfoContainer::isValid() const
0042 {
0043   return (!_pidinfos.empty());
0044 }
0045 
0046 void
0047 PidInfoContainer::Reset()
0048 {
0049   while (_pidinfos.begin() != _pidinfos.end())
0050     {
0051       delete _pidinfos.begin()->second;
0052       _pidinfos.erase(_pidinfos.begin());
0053     }
0054 }
0055 
0056 void
0057 PidInfoContainer::identify(std::ostream& os) const
0058 {
0059   os << "PidInfoContainer, number of pid infos: " << size() << std::endl;
0060 }