diff --git a/Processes/Sibyll/SibStack.h b/Processes/Sibyll/SibStack.h index 22b446c57c4c8febbeef1fe9312ea7810bd99e3b..11a5bb2bf131f2c941aa3505792c5b813447f50e 100644 --- a/Processes/Sibyll/SibStack.h +++ b/Processes/Sibyll/SibStack.h @@ -70,8 +70,15 @@ namespace corsika::process::sibyll { } void Copy(const int i1, const int i2) { - s_plist_.llist[i1] = s_plist_.llist[i2]; - s_plist_.p[3][i1] = s_plist_.p[3][i2]; + s_plist_.llist[i2] = s_plist_.llist[i1]; + for (int i=0; i<5; ++i) + s_plist_.p[i][i2] = s_plist_.p[i][i1]; + } + + void Swap(const int i1, const int i2) { + std::swap(s_plist_.llist[i1], s_plist_.llist[i2]); + for (int i=0; i<5; ++i) + std::swap(s_plist_.p[i][i1], s_plist_.p[i][i2]); } protected: