#include <corsika/particles/ParticleProperties.h> #include <corsika/stack/super_stupid/SuperStupidStack.h> #include <iomanip> #include <iostream> using namespace std; // using namespace corsika::literals; // using namespace corsika::io; using namespace corsika::units; using namespace corsika::stack; void fill(corsika::stack::super_stupid::SuperStupidStack& s) { for (int i = 0; i < 11; ++i) { auto p = s.NewParticle(); p.SetPID(corsika::particles::Code::Electron); p.SetEnergy(1.5_GeV * i); } } void read(corsika::stack::super_stupid::SuperStupidStack& s) { cout << "found Stack with " << s.GetSize() << " particles. " << endl; EnergyType Etot; for (auto& p : s) { Etot += p.GetEnergy(); cout << "particle: " << p.GetPID() << " with " << p.GetEnergy() / 1_GeV << " GeV" << endl; } cout << "Etot=" << Etot << " = " << Etot / 1_GeV << " GeV" << endl; } int main() { corsika::stack::super_stupid::SuperStupidStack s; fill(s); read(s); return 0; }