90 m_tree_scores.at(tree) = score;
91 if(m_tree_in_heap.at(tree))
93 for(std::vector<Location>::iterator iter = m_locations_heap.begin();
94 iter != m_locations_heap.end();
97 if(iter->tree == tree)
100 iter->length = length;
108 if(m_locations_heap.begin()->tree >= 0)
110 m_tree_in_heap.at(m_locations_heap.begin()->tree) =
false;
112 m_tree_in_heap.at(tree) =
true;
115 m_locations_heap.pop_back();
116 m_locations_heap.push_back({beginning, length, tree, score, protein_ptr});
121 catch(
const std::exception &stderr)
124 QObject::tr(
"addLocation failed std::exception :\n%1").arg(stderr.what()));
void addLocation(std::size_t beginning, std::size_t length, int tree, int score, const SpOMSProtein *protein_ptr)
Adds a location to the locations heap. If a saved location has the same tree_id, it will replace it....