File indexing completed on 2025-08-06 08:18:11
0001
0002
0003
0004
0005
0006
0007
0008 #include "TrkrClusterCrossingAssocv1.h"
0009 #include "TrkrDefs.h"
0010
0011 #include <ostream> // for operator<<, endl, basic_ostream, ostream, basic_o...
0012
0013 namespace
0014 {
0015 TrkrClusterCrossingAssocv1::Map dummy_map;
0016 }
0017
0018
0019 void TrkrClusterCrossingAssocv1::Reset()
0020 {
0021
0022 Map empty_map;
0023 empty_map.swap(m_map);
0024 empty_map.clear();
0025
0026 m_map.clear();
0027 }
0028
0029
0030 void TrkrClusterCrossingAssocv1::identify(std::ostream& os) const
0031 {
0032 std::multimap<TrkrDefs::cluskey, TrkrDefs::hitkey>::const_iterator iter;
0033 os << "-----TrkrClusterCrossingAssocv1-----" << std::endl;
0034 os << "Number of associations: " << size() << std::endl;
0035 for (const auto& map_pair : m_map)
0036 {
0037 os << "clus key " << map_pair.first << std::dec
0038 << " layer " << (unsigned int) TrkrDefs::getLayer(map_pair.first)
0039 << " crossing number: " << map_pair.second << std::endl;
0040 }
0041 os << "------------------------------" << std::endl;
0042
0043 return;
0044 }
0045
0046
0047 void TrkrClusterCrossingAssocv1::addAssoc(TrkrDefs::cluskey ckey, short int hidx)
0048 {
0049
0050 m_map.insert(std::make_pair(ckey, hidx));
0051 }
0052
0053
0054 TrkrClusterCrossingAssocv1::ConstRange TrkrClusterCrossingAssocv1::getCrossings(TrkrDefs::cluskey ckey) const
0055 {
0056 const auto range = m_map.equal_range(ckey);
0057 return range;
0058 }
0059
0060
0061 unsigned int TrkrClusterCrossingAssocv1::size() const
0062 {
0063 unsigned int size = 0;
0064 size = m_map.size();
0065
0066 return size;
0067 }
0068
0069 TrkrClusterCrossingAssocv1::ConstRange TrkrClusterCrossingAssocv1::getAll() const
0070 {
0071 return std::make_pair(m_map.begin(), m_map.end());
0072 }