diff --git a/Device/Histo/Histogram1D.cpp b/Device/Histo/Histogram1D.cpp index c4862452a5045311f94f7b8fea75b089695a8bc1..4f6fca10ef9c99421cf7931e106606ac3055ff20 100644 --- a/Device/Histo/Histogram1D.cpp +++ b/Device/Histo/Histogram1D.cpp @@ -85,12 +85,13 @@ PyObject* Histogram1D::binErrorsNumpy() const Histogram1D* Histogram1D::crop(double xmin, double xmax) { - const std::unique_ptr<IAxis> xaxis(xAxis().createClippedAxis(xmin, xmax)); + const std::unique_ptr<IAxis> xaxis{xAxis().clone()}; + xaxis->clip(xmin, xmax); Histogram1D* result = new Histogram1D(*xaxis); OutputData<CumulativeValue>::const_iterator it_origin = m_data.begin(); OutputData<CumulativeValue>::iterator it_result = result->m_data.begin(); while (it_origin != m_data.end()) { - double x = m_data.getAxisValue(it_origin.getIndex(), 0); + const double x = m_data.getAxisValue(it_origin.getIndex(), 0); if (result->xAxis().contains(x)) { *it_result = *it_origin; ++it_result; diff --git a/Tests/Unit/Device/ConstKBinAxisTest.cpp b/Tests/Unit/Device/ConstKBinAxisTest.cpp index 4a75e786d1312337bf2cbfd21a413c50a3481a8b..8631b95364adeacedd4f725d2808d8cdf59a8574 100644 --- a/Tests/Unit/Device/ConstKBinAxisTest.cpp +++ b/Tests/Unit/Device/ConstKBinAxisTest.cpp @@ -77,15 +77,16 @@ TEST_F(ConstKBinAxisTest, IOStream) TEST_F(ConstKBinAxisTest, ClippedAxis) { - ConstKBinAxis* clip1 = m_axis.createClippedAxis(Units::deg2rad(-10.0), Units::deg2rad(10.0)); + ConstKBinAxis* clip1 = m_axis.clone(); + clip1->clip(Units::deg2rad(-10.0), Units::deg2rad(10.0)); EXPECT_TRUE(*clip1 == m_axis); delete clip1; - ConstKBinAxis* clip2 = m_axis.createClippedAxis(Units::deg2rad(-3.0), Units::deg2rad(3.0)); + ConstKBinAxis* clip2 = m_axis.clone(); + clip2->clip(Units::deg2rad(-3.0), Units::deg2rad(3.0)); EXPECT_EQ(clip2->size(), size_t(8)); std::vector<double> boundaries = clip2->binBoundaries(); - for (size_t i = 0; i < boundaries.size(); ++i) { + for (size_t i = 0; i < boundaries.size(); ++i) EXPECT_EQ(boundaries[i], m_axis.bin(1 + i).m_lower); - } delete clip2; } diff --git a/Tests/Unit/Device/FixedBinAxisTest.cpp b/Tests/Unit/Device/FixedBinAxisTest.cpp index 89d599271458eda42f781820b455d86030337814..d0719563e1ed86f1e12d6d029370327ca165e8b3 100644 --- a/Tests/Unit/Device/FixedBinAxisTest.cpp +++ b/Tests/Unit/Device/FixedBinAxisTest.cpp @@ -153,14 +153,16 @@ TEST_F(FixedBinAxisTest, ClippedAxis) { FixedBinAxis axis("name", 4, -1.0, 3.0); - FixedBinAxis* clip1 = axis.createClippedAxis(-0.5, 2.5); + FixedBinAxis* clip1 = axis.clone(); + clip1->clip(-0.5, 2.5); EXPECT_EQ(clip1->size(), axis.size()); EXPECT_EQ(clip1->lowerBound(), axis.lowerBound()); EXPECT_EQ(clip1->upperBound(), axis.upperBound()); EXPECT_TRUE(*clip1 == axis); delete clip1; - FixedBinAxis* clip2 = axis.createClippedAxis(0.0, 1.99); + FixedBinAxis* clip2 = axis.clone(); + clip2->clip(0.0, 1.99); EXPECT_EQ(clip2->size(), size_t(2)); EXPECT_EQ(clip2->lowerBound(), 0.0); EXPECT_EQ(clip2->upperBound(), 2.0); diff --git a/Tests/Unit/Device/PointwiseAxisTest.cpp b/Tests/Unit/Device/PointwiseAxisTest.cpp index 0b352460c600b78b98f7eeba2d8cbf64499ac7c8..ece86cf5a86935f0311115f49f327ea521042c61 100644 --- a/Tests/Unit/Device/PointwiseAxisTest.cpp +++ b/Tests/Unit/Device/PointwiseAxisTest.cpp @@ -132,20 +132,23 @@ TEST_F(PointwiseAxisTest, ClippedAxis) { PointwiseAxis axis("name", std::vector<double>{1.0, 2.0, 2.5, 2.7, 5.0}); - std::unique_ptr<PointwiseAxis> clip1(axis.createClippedAxis(0.99, 5.1)); + std::unique_ptr<PointwiseAxis> clip1(axis.clone()); + clip1->clip(0.99, 5.1); EXPECT_TRUE(*clip1 == axis); - std::unique_ptr<PointwiseAxis> clip2(axis.createClippedAxis(1, 5.0)); + std::unique_ptr<PointwiseAxis> clip2(axis.clone()); + clip2->clip(1, 5.0); EXPECT_TRUE(*clip2 == axis); - std::unique_ptr<PointwiseAxis> clip3(axis.createClippedAxis(1.5, 2.5)); + std::unique_ptr<PointwiseAxis> clip3(axis.clone()); + clip3->clip(1.5, 2.5); EXPECT_TRUE(*clip3 != axis); EXPECT_EQ(clip3->size(), 2u); EXPECT_EQ(clip3->operator[](0), 2.0); EXPECT_EQ(clip3->operator[](1), 2.5); - EXPECT_THROW(axis.createClippedAxis(1.5, 2.0), std::runtime_error); - EXPECT_THROW(axis.createClippedAxis(5.0, 1.0), std::runtime_error); + EXPECT_THROW(axis.clone()->clip(1.5, 2.0), std::runtime_error); + EXPECT_THROW(axis.clone()->clip(5.0, 1.0), std::runtime_error); } TEST_F(PointwiseAxisTest, FixedBinAxisComparison) @@ -170,17 +173,13 @@ TEST_F(PointwiseAxisTest, FixedBinAxisComparison) EXPECT_EQ(fixed_axis.findClosestIndex(2.5), pointwise_axis.findClosestIndex(2.5)); EXPECT_EQ(fixed_axis.findClosestIndex(4.5), pointwise_axis.findClosestIndex(4.5)); - std::unique_ptr<FixedBinAxis> clipped_fixed(fixed_axis.createClippedAxis(0.5, 3.5)); - std::unique_ptr<PointwiseAxis> clipped_pointwise(pointwise_axis.createClippedAxis(0.5, 3.5)); + std::unique_ptr<FixedBinAxis> clipped_fixed(fixed_axis.clone()); + clipped_fixed->clip(0.5, 3.5); + std::unique_ptr<PointwiseAxis> clipped_pointwise(pointwise_axis.clone()); + clipped_pointwise->clip(0.5, 3.5); EXPECT_EQ(clipped_fixed->size(), clipped_pointwise->size()); EXPECT_DOUBLE_EQ(clipped_fixed->binCenter(0), clipped_pointwise->binCenter(0)); EXPECT_DOUBLE_EQ(clipped_fixed->binCenter(3), clipped_pointwise->binCenter(3)); - - clipped_fixed.reset(fixed_axis.createClippedAxis(1.0, 3.0)); - clipped_pointwise.reset(pointwise_axis.createClippedAxis(1.0, 3.0)); - EXPECT_EQ(clipped_fixed->size(), clipped_pointwise->size()); - EXPECT_DOUBLE_EQ(clipped_fixed->binCenter(0), clipped_pointwise->binCenter(0)); - EXPECT_DOUBLE_EQ(clipped_fixed->binCenter(2), clipped_pointwise->binCenter(2)); } TEST_F(PointwiseAxisTest, FixedBinAxisComparisonWithMask) diff --git a/Tests/Unit/Device/VariableBinAxisTest.cpp b/Tests/Unit/Device/VariableBinAxisTest.cpp index 6e3710b73c73308540905c05edfcaf844eafc48c..09ab8ecf5bd6f84df1486719ed72e90f7779947a 100644 --- a/Tests/Unit/Device/VariableBinAxisTest.cpp +++ b/Tests/Unit/Device/VariableBinAxisTest.cpp @@ -207,11 +207,13 @@ TEST_F(VariableBinAxisTest, ClippedAxis) std::vector<double> values(arr, arr + sizeof(arr) / sizeof(arr[0])); VariableBinAxis axis("name", 4, values); - VariableBinAxis* clip1 = axis.createClippedAxis(-1.0, 2.0); + VariableBinAxis* clip1 = axis.clone(); + clip1->clip(-1.0, 2.0); EXPECT_TRUE(axis == *clip1); delete clip1; - VariableBinAxis* clip2 = axis.createClippedAxis(-0.5, 1.5); + VariableBinAxis* clip2 = axis.clone(); + clip2->clip(-0.5, 1.5); EXPECT_EQ(clip2->size(), size_t(3)); EXPECT_EQ(clip2->lowerBound(), -0.5); EXPECT_EQ(clip2->upperBound(), 2.0); @@ -222,7 +224,8 @@ TEST_F(VariableBinAxisTest, ClippedAxis) EXPECT_TRUE(axis != *clip2); delete clip2; - VariableBinAxis* clip3 = axis.createClippedAxis(-0.5, 0.99); + VariableBinAxis* clip3 = axis.clone(); + clip3->clip(-0.5, 0.99); EXPECT_EQ(clip3->size(), size_t(2)); EXPECT_EQ(clip3->lowerBound(), -0.5); EXPECT_EQ(clip3->upperBound(), 1.0);