From a5ff2453cdc94c605a91a3c50be81bc3708d2adf Mon Sep 17 00:00:00 2001 From: ralfulrich <ralf.ulrich@kit.edu> Date: Sun, 4 Oct 2020 19:01:28 +0200 Subject: [PATCH] added at getter --- Framework/StackInterface/SecondaryView.h | 6 ++++++ Framework/StackInterface/Stack.h | 7 +++++++ Framework/StackInterface/testStackInterface.cc | 8 +++++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Framework/StackInterface/SecondaryView.h b/Framework/StackInterface/SecondaryView.h index 5ed96731a..57798e84b 100644 --- a/Framework/StackInterface/SecondaryView.h +++ b/Framework/StackInterface/SecondaryView.h @@ -281,6 +281,12 @@ namespace corsika::stack { } return ConstStackIterator(*this, getSize() - 1 - i + 1); } + StackIterator at(unsigned int i) { + return StackIterator(*this, i); + } + ConstStackIterator at(unsigned int i) const { + return ConstStackIterator(*this, i); + } /// @} /** diff --git a/Framework/StackInterface/Stack.h b/Framework/StackInterface/Stack.h index 103d7b63c..5f22d8069 100644 --- a/Framework/StackInterface/Stack.h +++ b/Framework/StackInterface/Stack.h @@ -210,6 +210,13 @@ namespace corsika::stack { } return ConstStackIterator(*this, getSize() - 1 - i); } + StackIterator at(unsigned int i) { + return StackIterator(*this, i); + } + + ConstStackIterator at(unsigned int i) const { + return ConstStackIterator(*this, i); + } /// @} StackIterator GetNextParticle() { diff --git a/Framework/StackInterface/testStackInterface.cc b/Framework/StackInterface/testStackInterface.cc index 25ba3e1af..cef564e8b 100644 --- a/Framework/StackInterface/testStackInterface.cc +++ b/Framework/StackInterface/testStackInterface.cc @@ -40,10 +40,16 @@ TEST_CASE("Stack", "[Stack]") { // construct a valid Stack object StackTest s; s.Clear(); - s.AddParticle(std::tuple{0.}); + auto pTest0 = s.AddParticle(std::tuple{0.}); + CHECK(s.getSize() == 1); + auto pTest1 = s.AddParticle(std::tuple{1.}); s.Copy(s.cbegin(), s.begin()); s.Swap(s.begin(), s.begin()); CHECK(s.getSize() == 1); + auto pTestAt = s.at(0); + CHECK(pTestAt == pTest); + auto pTestFirst = s.first(); + CHECK(pTestFirst == pTest); } SECTION("construct") { -- GitLab