Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-10-16 08:21:02

0001 #include "TruthNeutralMesonContainer.h"
0002 #include "TruthNeutralMeson.h"
0003 
0004 #include <iostream>
0005 
0006 void TruthNeutralMesonContainer::Reset()
0007 {
0008   for (auto& pair : _mesons)
0009   {
0010     delete pair.second;
0011   }
0012   _mesons.clear();
0013 }
0014 
0015 void TruthNeutralMesonContainer::identify(std::ostream& os) const
0016 {
0017   os << "TruthNeutralMesonContainer with " << _mesons.size() << " mesons:" << std::endl;
0018   for (const auto& pair : _mesons)
0019   {
0020     os << "  key = " << pair.first << ": ";
0021     if (pair.second)
0022     {
0023       pair.second->identify(os);
0024     }
0025     else
0026     {
0027       os << "null pointer!" << std::endl;
0028     }
0029   }
0030 }
0031 
0032 TruthNeutralMesonContainer::ConstIterator TruthNeutralMesonContainer::AddMeson(TruthNeutralMeson* meson)
0033 {
0034   unsigned int key = _mesons.size();
0035   return _mesons.insert(std::make_pair(key, meson)).first;
0036 }
0037 
0038 TruthNeutralMeson* TruthNeutralMesonContainer::getMeson(unsigned int id)
0039 {
0040   auto it = _mesons.find(id);
0041   if (it != _mesons.end())
0042   {
0043     return it->second;
0044   }
0045   return nullptr;
0046 }
0047 
0048 const TruthNeutralMeson* TruthNeutralMesonContainer::getMeson(unsigned int id) const
0049 {
0050   auto it = _mesons.find(id);
0051   if (it != _mesons.end())
0052   {
0053     return it->second;
0054   }
0055   return nullptr;
0056 }
0057 
0058 TruthNeutralMesonContainer::ConstRange TruthNeutralMesonContainer::getMesons() const
0059 {
0060   return std::make_pair(_mesons.begin(), _mesons.end());
0061 }
0062 
0063 TruthNeutralMesonContainer::Range TruthNeutralMesonContainer::getMesons()
0064 {
0065   return std::make_pair(_mesons.begin(), _mesons.end());
0066 }