11 #include <corsika/framework/stack/CombinedStack.hpp> 12 #include <corsika/stack/GeometryNodeStackExtension.hpp> 13 #include <corsika/stack/NuclearStackExtension.hpp> 14 #include <corsika/stack/WeightStackExtension.hpp> 15 #include <corsika/stack/history/HistorySecondaryProducer.hpp> 16 #include <corsika/stack/history/HistoryStackExtension.hpp> 18 #include <corsika/setup/SetupEnvironment.hpp> 22 namespace setup::detail {
29 template <
typename TStackIter>
30 using SetupGeometryDataInterface =
31 typename node::MakeGeometryDataInterface<TStackIter, setup::Environment>::type;
34 template <
typename TStackIter>
35 using StackWithGeometryInterface =
36 CombinedParticleInterface<nuclear_stack::ParticleDataStack::pi_type,
37 SetupGeometryDataInterface, TStackIter>;
39 using StackWithGeometry =
41 node::GeometryData<setup::Environment>, StackWithGeometryInterface,
42 DefaultSecondaryProducer>;
48 template <
typename TStackIter>
49 using StackWithHistoryInterface =
50 CombinedParticleInterface<StackWithGeometry::pi_type,
51 history::HistoryEventDataInterface, TStackIter>;
53 using StackWithHistory =
55 history::HistoryEventData, StackWithHistoryInterface,
56 history::HistorySecondaryProducer>;
Stack< CombinedStackImpl< Stack1Impl, Stack2Impl >, _PI, _MSecondaryProducer > CombinedStack
Helper template alias CombinedStack to construct new combined stack from two stack data objects and a...
TStackData stack_data_type
this is the type of the user-provided data structure
The cascade namespace assembles all objects needed to simulate full particles cascades.