CORSIKA8  0.0.0
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
 The cascade namespace assembles all objects needed to simulate full particles cascades.
 

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.