LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
HitTagAssociatorAlg.cxx
Go to the documentation of this file.
1 
12 #include "HitTagAssociatorAlg.h"
13 #include <limits>
14 
16 
18  std::vector<std::vector<size_t>> const& bridges_per_hit,
19  std::vector<std::vector<size_t>> const& tags_per_bridges,
20  std::vector<std::vector<size_t>>& tags_per_hit)
21 {
22 
23  const size_t N_HITS = bridges_per_hit.size();
24  tags_per_hit.clear();
25  tags_per_hit.resize(N_HITS);
26 
27  for (size_t i_hit = 0; i_hit < N_HITS; i_hit++) {
28  for (size_t i_bridge = 0; i_bridge < bridges_per_hit[i_hit].size(); i_bridge++) {
29  tags_per_hit[i_hit].insert(tags_per_hit[i_hit].end(),
30  tags_per_bridges[i_bridge].begin(),
31  tags_per_bridges[i_bridge].end());
32  }
33  }
34 }
35 
37  std::vector<std::vector<size_t>> const& bridges_per_hit,
38  std::vector<size_t> const& tag_per_bridge,
39  std::vector<std::vector<size_t>>& tags_per_hit)
40 {
41 
42  const size_t N_HITS = bridges_per_hit.size();
43 
44  tags_per_hit.clear();
45  tags_per_hit.resize(N_HITS);
46 
47  for (size_t i_hit = 0; i_hit < N_HITS; i_hit++) {
48 
49  for (size_t i_bridge = 0; i_bridge < bridges_per_hit[i_hit].size(); i_bridge++) {
50 
51  if (i_bridge >= tag_per_bridge.size()) continue;
52 
53  if (tag_per_bridge[i_bridge] == std::numeric_limits<size_t>::max()) continue;
54 
55  tags_per_hit[i_hit].push_back(tag_per_bridge[i_bridge]);
56  } //end loop over bridges
57 
58  } //end loop over hits
59 }
void MakeHitTagAssociations(std::vector< std::vector< size_t >> const &bridges_per_hit, std::vector< std::vector< size_t >> const &tags_per_bridges, std::vector< std::vector< size_t >> &tags_per_hit)
HitTagAssociatorAlg(fhicl::ParameterSet const &p)
decltype(auto) constexpr end(T &&obj)
ADL-aware version of std::end.
Definition: StdUtils.h:77
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Definition: DumpUtils.h:289
decltype(auto) constexpr begin(T &&obj)
ADL-aware version of std::begin.
Definition: StdUtils.h:69