CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
Stack.hpp File Reference

Description of particle stacks. More...

#include <corsika/framework/core/Logging.hpp>
#include <corsika/framework/stack/StackIteratorInterface.hpp>
#include <corsika/framework/stack/DefaultSecondaryProducer.hpp>
#include <corsika/framework/stack/SecondaryView.hpp>
#include <stdexcept>
#include <string>
#include <vector>
#include <utility>
#include <type_traits>
#include <corsika/detail/framework/stack/Stack.inl>
Include dependency graph for Stack.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  corsika::Stack< TStackData, MParticleInterface, MSecondaryProducer >
 The Stack class provides (and connects) the main particle data storage machinery. More...
 

Namespaces

 corsika
 `, since they are used everywhere as integral part of the framework.
 

Detailed Description

Description of particle stacks.

In the CORSIKA 8 framework particle data is always stored in particle stacks. A particle is, thus, always a reference (iterator) to an entry on a stack, e.g.

  ModelStack stack;
  stack.begin(); // returns an iterator: StackIterator, ConstStackIterator

  *stack.begin(); // return a reference to ParticleInterfaceType, which is the class
provided by the user to read/write particle properties

All functionality and algorithms for stack data access is located in the namespace corsika::stack

The minimal example of how to use this is shown in stack_example.cc

Definition in file Stack.hpp.