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 }