From a7a7ceed12ebf0a5034890ae88a1177f01d5b041 Mon Sep 17 00:00:00 2001 From: John Tramm Date: Tue, 14 Jan 2020 19:57:06 +0000 Subject: [PATCH] changed FilterBinIter interface to simplify things a little --- include/openmc/tallies/tally_scoring.h | 3 +-- src/tallies/tally_scoring.cpp | 14 +++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/include/openmc/tallies/tally_scoring.h b/include/openmc/tallies/tally_scoring.h index f9d7558c52..224a9ef149 100644 --- a/include/openmc/tallies/tally_scoring.h +++ b/include/openmc/tallies/tally_scoring.h @@ -23,8 +23,7 @@ class FilterBinIter public: //! Construct an iterator over bins that match a given particle's state. - FilterBinIter(const Tally& tally, const Particle* p, - std::vector* particle_filter_matches); + FilterBinIter(const Tally& tally, Particle* p); //! Construct an iterator over all filter bin combinations. // diff --git a/src/tallies/tally_scoring.cpp b/src/tallies/tally_scoring.cpp index a284ab0338..523e187495 100644 --- a/src/tallies/tally_scoring.cpp +++ b/src/tallies/tally_scoring.cpp @@ -26,8 +26,8 @@ namespace openmc { // FilterBinIter implementation //============================================================================== -FilterBinIter::FilterBinIter(const Tally& tally, const Particle* p, std::vector* particle_filter_matches) - : tally_{tally}, filter_matches_{*particle_filter_matches} +FilterBinIter::FilterBinIter(const Tally& tally, Particle* p) + : tally_{tally}, filter_matches_{p->filter_matches_} { // Find all valid bins in each relevant filter if they have not already been // found for this event. @@ -2036,7 +2036,7 @@ void score_analog_tally_ce(Particle* p) // Initialize an iterator over valid filter bin combinations. If there are // no valid combinations, use a continue statement to ensure we skip the // assume_separate break below. - auto filter_iter = FilterBinIter(tally, p, &p->filter_matches_); + auto filter_iter = FilterBinIter(tally, p); auto end = FilterBinIter(tally, true, &p->filter_matches_); if (filter_iter == end) continue; @@ -2093,7 +2093,7 @@ void score_analog_tally_mg(Particle* p) // Initialize an iterator over valid filter bin combinations. If there are // no valid combinations, use a continue statement to ensure we skip the // assume_separate break below. - auto filter_iter = FilterBinIter(tally, p, &p->filter_matches_); + auto filter_iter = FilterBinIter(tally, p); auto end = FilterBinIter(tally, true, &p->filter_matches_); if (filter_iter == end) continue; @@ -2142,7 +2142,7 @@ score_tracklength_tally(Particle* p, double distance) // Initialize an iterator over valid filter bin combinations. If there are // no valid combinations, use a continue statement to ensure we skip the // assume_separate break below. - auto filter_iter = FilterBinIter(tally, p, &p->filter_matches_); + auto filter_iter = FilterBinIter(tally, p); auto end = FilterBinIter(tally, true, &p->filter_matches_); if (filter_iter == end) continue; @@ -2210,7 +2210,7 @@ void score_collision_tally(Particle* p) // Initialize an iterator over valid filter bin combinations. If there are // no valid combinations, use a continue statement to ensure we skip the // assume_separate break below. - auto filter_iter = FilterBinIter(tally, p, &p->filter_matches_); + auto filter_iter = FilterBinIter(tally, p); auto end = FilterBinIter(tally, true, &p->filter_matches_); if (filter_iter == end) continue; @@ -2270,7 +2270,7 @@ score_surface_tally(Particle* p, const std::vector& tallies) // Initialize an iterator over valid filter bin combinations. If there are // no valid combinations, use a continue statement to ensure we skip the // assume_separate break below. - auto filter_iter = FilterBinIter(tally, p, &p->filter_matches_); + auto filter_iter = FilterBinIter(tally, p); auto end = FilterBinIter(tally, true, &p->filter_matches_); if (filter_iter == end) continue;