Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #include "MbdVertexMapv1.h"
0002 
0003 #include "MbdVertex.h"
0004 
0005 #include <iterator>  // for reverse_iterator
0006 #include <utility>   // for pair, make_pair
0007 
0008 MbdVertexMapv1::~MbdVertexMapv1()
0009 {
0010   MbdVertexMapv1::clear();
0011 }
0012 
0013 void MbdVertexMapv1::identify(std::ostream& os) const
0014 {
0015   os << "MbdVertexMapv1: size = " << _map.size() << std::endl;
0016   return;
0017 }
0018 
0019 void MbdVertexMapv1::clear()
0020 {
0021   for (auto& iter : _map)
0022   {
0023     delete iter.second;
0024   }
0025   _map.clear();
0026   return;
0027 }
0028 
0029 const MbdVertex* MbdVertexMapv1::get(unsigned int id) const
0030 {
0031   ConstIter iter = _map.find(id);
0032   if (iter == _map.end())
0033   {
0034     return nullptr;
0035   }
0036   return iter->second;
0037 }
0038 
0039 MbdVertex* MbdVertexMapv1::get(unsigned int id)
0040 {
0041   Iter iter = _map.find(id);
0042   if (iter == _map.end())
0043   {
0044     return nullptr;
0045   }
0046   return iter->second;
0047 }
0048 
0049 MbdVertex* MbdVertexMapv1::insert(MbdVertex* clus)
0050 {
0051   unsigned int index = 0;
0052   if (!_map.empty())
0053   {
0054     index = _map.rbegin()->first + 1;
0055   }
0056   _map.insert(std::make_pair(index, clus));
0057   _map[index]->set_id(index);
0058   return _map[index];
0059 }