Commit 472802158ee83790ec481ce392cdc2234fbfb0ab

Authored by Josh Cardenzana
1 parent c754c50d

Add parallelization to ctbin (#1970)

Parallelized computation over different observations.
Showing 1 changed file with 6 additions and 2 deletions
src/ctbin/ctbin.cpp
... ... @@ -236,8 +236,11 @@ void ctbin::run(void)
236 236 log_header1(TERSE, gammalib::number("Bin observation", m_obs.size()));
237 237  
238 238 // Loop over all unbinned CTA observations in the container
239   - for (GCTAObservation* obs = first_unbinned_observation(); obs != NULL;
240   - obs = next_unbinned_observation()) {
  239 +// for (GCTAObservation* obs = first_unbinned_observation(); obs != NULL;
  240 +// obs = next_unbinned_observation()) {
  241 + #pragma omp parallel for
  242 + for (int o=0; o<m_obs.size(); o++) {
  243 + GCTAObservation* obs = dynamic_cast<GCTAObservation*>(m_obs[o]);
241 244  
242 245 // Fill the cube
243 246 fill_cube(obs);
... ... @@ -555,6 +558,7 @@ void ctbin::fill_cube(GCTAObservation* obs)
555 558 m_livetime += obs->livetime();
556 559  
557 560 // Log filling results
  561 + log_header3(TERSE, get_obs_header(obs));
558 562 log_value(NORMAL, "Events in list", obs->events()->size());
559 563 log_value(NORMAL, "Events in cube", num_in_map);
560 564 log_value(NORMAL, "Events outside RoI", num_outside_roi);
... ...