3131#include " openmc/tallies/filter_meshmaterial.h"
3232#include " openmc/tallies/filter_meshsurface.h"
3333#include " openmc/tallies/filter_particle.h"
34+ #include " openmc/tallies/filter_point.h"
3435#include " openmc/tallies/filter_sph_harm.h"
3536#include " openmc/tallies/filter_surface.h"
3637#include " openmc/tallies/filter_time.h"
@@ -1199,6 +1200,8 @@ void setup_active_tallies()
11991200 model::active_meshsurf_tallies.clear ();
12001201 model::active_surface_tallies.clear ();
12011202 model::active_pulse_height_tallies.clear ();
1203+ model::active_point_tallies.clear ();
1204+ model::active_point_detectors.clear ();
12021205 model::time_grid.clear ();
12031206
12041207 for (auto i = 0 ; i < model::tallies.size (); ++i) {
@@ -1240,6 +1243,16 @@ void setup_active_tallies()
12401243 case TallyType::PULSE_HEIGHT:
12411244 model::active_pulse_height_tallies.push_back (i);
12421245 break ;
1246+
1247+ case TallyType::POINT:
1248+ model::active_point_tallies.push_back (i);
1249+ // Populate the set of unique detector positions from PointFilter
1250+ if (auto pf = tally.get_filter <PointFilter>()) {
1251+ for (const auto & [pos, r0] : pf->detectors ()) {
1252+ model::active_point_detectors.insert (pos);
1253+ }
1254+ }
1255+ break ;
12431256 }
12441257 }
12451258 }
@@ -1263,6 +1276,8 @@ void free_memory_tally()
12631276 model::active_meshsurf_tallies.clear ();
12641277 model::active_surface_tallies.clear ();
12651278 model::active_pulse_height_tallies.clear ();
1279+ model::active_point_tallies.clear ();
1280+ model::active_point_detectors.clear ();
12661281 model::time_grid.clear ();
12671282
12681283 model::tally_map.clear ();
0 commit comments