diff --git a/src/ctbin/ctbin.cpp b/src/ctbin/ctbin.cpp index ea8e06f..cbbc041 100644 --- a/src/ctbin/ctbin.cpp +++ b/src/ctbin/ctbin.cpp @@ -248,7 +248,7 @@ void ctbin::run(void) log_header1(TERSE, gammalib::number("Bin observation", m_obs.size())); // Loop over all unbinned CTA observations in the container - #pragma omp parallel for schedule(dynamic) + #pragma omp parallel for for (int oindx=0; oindxontime(); m_livetime += obs->livetime(); - - // Log filling results - log_header3(TERSE, get_obs_header(obs)); - log_value(NORMAL, "Events in list", obs->events()->size()); - log_value(NORMAL, "Events in cube", num_in_map); - log_value(NORMAL, "Events outside RoI", num_outside_roi); - log_value(NORMAL, "Events with invalid WCS", num_invalid_wcs); - log_value(NORMAL, "Events outside cube area", num_outside_map); - log_value(NORMAL, "Events outside energy bins", num_outside_ebds); } + // Log filling results + log_header3(TERSE, get_obs_header(obs)); + log_value(NORMAL, "Events in list", obs->events()->size()); + log_value(NORMAL, "Events in cube", num_in_map); + log_value(NORMAL, "Events outside RoI", num_outside_roi); + log_value(NORMAL, "Events with invalid WCS", num_invalid_wcs); + log_value(NORMAL, "Events outside cube area", num_outside_map); + log_value(NORMAL, "Events outside energy bins", num_outside_ebds); + // Return return; } @@ -627,12 +636,9 @@ void ctbin::set_weights(GCTAObservation* obs) // Loop over all pixels in counts cube for (int pixel = 0; pixel < m_counts.npix(); ++pixel) { - - // Get pixel sky direction - GSkyDir dir = m_counts.inx2dir(pixel); - + // Skip pixel if it is outside the RoI - if (roi.centre().dir().dist_deg(dir) > roi.radius()) { + if (roi.centre().dir().dist_deg(m_dirs[pixel]) > roi.radius()) { continue; } diff --git a/src/ctbin/ctbin.hpp b/src/ctbin/ctbin.hpp index afb0cc3..99c74f1 100644 --- a/src/ctbin/ctbin.hpp +++ b/src/ctbin/ctbin.hpp @@ -102,6 +102,7 @@ protected: GCTAEventCube m_cube; //!< Events cube (for cube() method) double m_ontime; //!< Total ontime double m_livetime; //!< Total livetime + std::vector m_dirs; //!< Cached GSkyDir for each pixel in m_counts };