From 06b04fa143149970414a3bfd48f39bc6b9fd5378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Fr=C3=B6jdh?= Date: Wed, 3 Jun 2026 12:03:33 +0200 Subject: [PATCH] moved hist location --- CMakeLists.txt | 27 ++++++----- .../PedestalTrackingPixelHistogram.hpp | 2 +- include/aare/{ => hist}/PixelHistogram.hpp | 2 +- .../aare/{ => hist}/PixelHistogramImpl.hpp | 0 .../bind_PedestalTrackingPixelHistogram.hpp | 2 +- python/src/bind_PixelHistogram.hpp | 2 +- .../PedestalTrackingPixelHistogram.cpp | 2 +- src/{ => hist}/PixelHistogram.cpp | 2 +- src/{ => hist}/PixelHistogram.test.cpp | 2 +- src/hist/PixelHistogramImpl.test.cpp | 45 +++++++++++++++++++ 10 files changed, 68 insertions(+), 18 deletions(-) rename include/aare/{ => hist}/PedestalTrackingPixelHistogram.hpp (99%) rename include/aare/{ => hist}/PixelHistogram.hpp (98%) rename include/aare/{ => hist}/PixelHistogramImpl.hpp (100%) rename src/{ => hist}/PedestalTrackingPixelHistogram.cpp (99%) rename src/{ => hist}/PixelHistogram.cpp (99%) rename src/{ => hist}/PixelHistogram.test.cpp (99%) create mode 100644 src/hist/PixelHistogramImpl.test.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 7918257..caa8990 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -379,8 +379,9 @@ set(PUBLICHEADERS include/aare/FileInterface.hpp include/aare/FilePtr.hpp include/aare/Frame.hpp - include/aare/PixelHistogram.hpp - include/aare/PedestalTrackingPixelHistogram.hpp + include/aare/hist/PixelHistogram.hpp + include/aare/hist/PixelHistogramImpl.hpp + include/aare/hist/PedestalTrackingPixelHistogram.hpp include/aare/GainMap.hpp include/aare/ROIGeometry.hpp include/aare/DetectorGeometry.hpp @@ -405,8 +406,8 @@ set(SourceFiles ${CMAKE_CURRENT_SOURCE_DIR}/src/defs.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/ROIGeometry.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/DetectorGeometry.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/src/PixelHistogram.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/src/PedestalTrackingPixelHistogram.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/hist/PixelHistogram.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/hist/PedestalTrackingPixelHistogram.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Dtype.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/File.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/FilePtr.cpp @@ -424,7 +425,7 @@ set(SourceFiles ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/task.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/ifstream_helpers.cpp) -add_library(aare_core STATIC ${SourceFiles}) +add_library(aare_core STATIC ${SourceFiles} ${PUBLICHEADERS}) target_include_directories( aare_core PUBLIC "$" "$") @@ -459,9 +460,8 @@ if(AARE_CUSTOM_ASSERT) target_compile_definitions(aare_core PUBLIC AARE_CUSTOM_ASSERT) endif() -set_target_properties( - aare_core PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} - PUBLIC_HEADER "${PUBLICHEADERS}") +set_target_properties(aare_core PROPERTIES ARCHIVE_OUTPUT_DIRECTORY + ${CMAKE_BINARY_DIR}) if(AARE_TESTS) set(TestSources @@ -483,7 +483,8 @@ if(AARE_TESTS) ${CMAKE_CURRENT_SOURCE_DIR}/src/ClusterFile.test.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/ClusterFinderMT.test.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Pedestal.test.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/src/PixelHistogram.test.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/hist/PixelHistogramImpl.test.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/hist/PixelHistogram.test.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/JungfrauDataFile.test.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/NumpyFile.test.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/NumpyHelpers.test.cpp @@ -499,8 +500,12 @@ if(AARE_MASTER_PROJECT) TARGETS aare_core aare_compiler_flags EXPORT "${TARGETS_EXPORT_NAME}" LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/aare) + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install( + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/aare/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/aare + FILES_MATCHING + PATTERN "*.hpp") endif() set(CMAKE_INSTALL_RPATH $ORIGIN) diff --git a/include/aare/PedestalTrackingPixelHistogram.hpp b/include/aare/hist/PedestalTrackingPixelHistogram.hpp similarity index 99% rename from include/aare/PedestalTrackingPixelHistogram.hpp rename to include/aare/hist/PedestalTrackingPixelHistogram.hpp index 92e5c35..685f3ba 100644 --- a/include/aare/PedestalTrackingPixelHistogram.hpp +++ b/include/aare/hist/PedestalTrackingPixelHistogram.hpp @@ -2,8 +2,8 @@ #include "aare/NDArray.hpp" #include "aare/NDView.hpp" #include "aare/Pedestal.hpp" -#include "aare/PixelHistogramImpl.hpp" #include "aare/ProducerConsumerQueue.hpp" +#include "aare/hist/PixelHistogramImpl.hpp" #include #include diff --git a/include/aare/PixelHistogram.hpp b/include/aare/hist/PixelHistogram.hpp similarity index 98% rename from include/aare/PixelHistogram.hpp rename to include/aare/hist/PixelHistogram.hpp index c08271c..15fb4ac 100644 --- a/include/aare/PixelHistogram.hpp +++ b/include/aare/hist/PixelHistogram.hpp @@ -1,8 +1,8 @@ #pragma once #include "aare/NDArray.hpp" #include "aare/NDView.hpp" -#include "aare/PixelHistogramImpl.hpp" #include "aare/ProducerConsumerQueue.hpp" +#include "aare/hist/PixelHistogramImpl.hpp" #include #include diff --git a/include/aare/PixelHistogramImpl.hpp b/include/aare/hist/PixelHistogramImpl.hpp similarity index 100% rename from include/aare/PixelHistogramImpl.hpp rename to include/aare/hist/PixelHistogramImpl.hpp diff --git a/python/src/bind_PedestalTrackingPixelHistogram.hpp b/python/src/bind_PedestalTrackingPixelHistogram.hpp index c44f594..8e640dd 100644 --- a/python/src/bind_PedestalTrackingPixelHistogram.hpp +++ b/python/src/bind_PedestalTrackingPixelHistogram.hpp @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MPL-2.0 -#include "aare/PedestalTrackingPixelHistogram.hpp" +#include "aare/hist/PedestalTrackingPixelHistogram.hpp" #include "np_helper.hpp" #include diff --git a/python/src/bind_PixelHistogram.hpp b/python/src/bind_PixelHistogram.hpp index aea8469..7c8c7a5 100644 --- a/python/src/bind_PixelHistogram.hpp +++ b/python/src/bind_PixelHistogram.hpp @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MPL-2.0 -#include "aare/PixelHistogram.hpp" +#include "aare/hist/PixelHistogram.hpp" #include "np_helper.hpp" #include diff --git a/src/PedestalTrackingPixelHistogram.cpp b/src/hist/PedestalTrackingPixelHistogram.cpp similarity index 99% rename from src/PedestalTrackingPixelHistogram.cpp rename to src/hist/PedestalTrackingPixelHistogram.cpp index cc17823..0cc36ff 100644 --- a/src/PedestalTrackingPixelHistogram.cpp +++ b/src/hist/PedestalTrackingPixelHistogram.cpp @@ -1,4 +1,4 @@ -#include "aare/PedestalTrackingPixelHistogram.hpp" +#include "aare/hist/PedestalTrackingPixelHistogram.hpp" #include "aare/File.hpp" #include diff --git a/src/PixelHistogram.cpp b/src/hist/PixelHistogram.cpp similarity index 99% rename from src/PixelHistogram.cpp rename to src/hist/PixelHistogram.cpp index bd7c94a..0a8af3a 100644 --- a/src/PixelHistogram.cpp +++ b/src/hist/PixelHistogram.cpp @@ -1,4 +1,4 @@ -#include "aare/PixelHistogram.hpp" +#include "aare/hist/PixelHistogram.hpp" #include #include diff --git a/src/PixelHistogram.test.cpp b/src/hist/PixelHistogram.test.cpp similarity index 99% rename from src/PixelHistogram.test.cpp rename to src/hist/PixelHistogram.test.cpp index 07de22f..ebedec9 100644 --- a/src/PixelHistogram.test.cpp +++ b/src/hist/PixelHistogram.test.cpp @@ -10,7 +10,7 @@ #include "test_config.hpp" #include "test_macros.hpp" -#include "aare/PixelHistogram.hpp" +#include "aare/hist/PixelHistogram.hpp" using aare::NDArray; using aare::NDView; diff --git a/src/hist/PixelHistogramImpl.test.cpp b/src/hist/PixelHistogramImpl.test.cpp new file mode 100644 index 0000000..dd53233 --- /dev/null +++ b/src/hist/PixelHistogramImpl.test.cpp @@ -0,0 +1,45 @@ +#include +#include + +#include "aare/hist/PixelHistogramImpl.hpp" + +TEST_CASE("PixelHistogramImpl construct a small histogram and fill with a few " + "values") { + int rows = 3; + int cols = 5; + int n_bins = 10; + double xmin = 0.0; + double xmax = 1.0; + aare::PixelHistogramImpl hist(rows, cols, n_bins, xmin, + xmax); + + // Check that the histogram is initialized correctly + REQUIRE(hist.view().shape(0) == rows); + REQUIRE(hist.view().shape(1) == cols); + REQUIRE(hist.view().shape(2) == n_bins); + + auto v = hist.view(); + for (int row = 0; row < rows; ++row) { + for (int col = 0; col < cols; ++col) { + for (int bin = 0; bin < n_bins; ++bin) { + REQUIRE(v(row, col, bin) == 0); + } + } + } + + auto edges = hist.bin_edges(); + for (int i = 0; i <= n_bins; ++i) { + REQUIRE_THAT(edges(i), Catch::Matchers::WithinRel(0.1 * i, 1e-12)); + } + + hist.fill(1, 1, 0.05); + REQUIRE(v(1, 1, 0) == 1); + + hist.fill(1, 1, 0.0999); + REQUIRE(v(1, 1, 0) == 2); + + hist.fill(1, 1, 0.1); + REQUIRE( + v(1, 1, 1) == + 1); // At the edge should go to the bin with the edge as the lower bound +}