From bce1df9586464f5a3f47ae2f22b9f7946fd0a0b4 Mon Sep 17 00:00:00 2001 From: Maximilian Reininghaus <maximilian.reininghaus@kit.edu> Date: Sat, 3 Oct 2020 22:26:03 +0200 Subject: [PATCH] added Stack::first() to access first particle irrespective of deleted flag --- Documentation/Examples/vertical_EAS.cc | 4 ++-- Framework/StackInterface/ParticleBase.h | 1 - Framework/StackInterface/Stack.h | 7 ++++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Documentation/Examples/vertical_EAS.cc b/Documentation/Examples/vertical_EAS.cc index be2de7fe9..2f4bd7dab 100644 --- a/Documentation/Examples/vertical_EAS.cc +++ b/Documentation/Examples/vertical_EAS.cc @@ -6,7 +6,6 @@ * the license. */ -#include <corsika/process/interaction_counter/InteractionCounter.hpp> #include <corsika/cascade/Cascade.h> #include <corsika/environment/Environment.h> #include <corsika/environment/FlatExponential.h> @@ -31,12 +30,13 @@ #include <corsika/process/sibyll/NuclearInteraction.h> #include <corsika/process/switch_process/SwitchProcess.h> #include <corsika/process/tracking_line/TrackingLine.h> +#include <corsika/process/urqmd/UrQMD.h> #include <corsika/random/RNGManager.h> #include <corsika/setup/SetupStack.h> #include <corsika/setup/SetupTrajectory.h> #include <corsika/units/PhysicalUnits.h> #include <corsika/utl/CorsikaFenv.h> -#include <corsika/process/urqmd/UrQMD.h> +#include <corsika/process/interaction_counter/InteractionCounter.hpp> #include <iomanip> #include <iostream> diff --git a/Framework/StackInterface/ParticleBase.h b/Framework/StackInterface/ParticleBase.h index e372b768e..1bf7d0ad8 100644 --- a/Framework/StackInterface/ParticleBase.h +++ b/Framework/StackInterface/ParticleBase.h @@ -8,7 +8,6 @@ #pragma once - namespace corsika::stack { /** diff --git a/Framework/StackInterface/Stack.h b/Framework/StackInterface/Stack.h index d91ac679f..103d7b63c 100644 --- a/Framework/StackInterface/Stack.h +++ b/Framework/StackInterface/Stack.h @@ -165,6 +165,11 @@ namespace corsika::stack { } return StackIterator(*this, i); } + + StackIterator first() { return StackIterator{*this, 0}; } + + ConstStackIterator cfirst() const { return ConstStackIterator{*this, 0}; } + StackIterator end() { return StackIterator(*this, getSize()); } StackIterator last() { unsigned int i = 0; @@ -345,9 +350,9 @@ namespace corsika::stack { nDeleted_ = 0; } - protected: unsigned int getSize() const { return data_.GetSize(); } + protected: bool isDeleted(unsigned int i) const { if (i >= deleted_.size()) return false; return deleted_.at(i); -- GitLab