11 #include <corsika/corsika.hpp> 16 #include <corsika/framework/random/ExponentialDistribution.hpp> 17 #include <corsika/framework/random/RNGManager.hpp> 18 #include <corsika/framework/random/UniformRealDistribution.hpp> 19 #include <corsika/framework/stack/SecondaryView.hpp> 22 #include <corsika/media/Environment.hpp> 24 #include <corsika/stack/history/HistoryStackExtension.hpp> 29 #include <type_traits> 51 template <
typename TTracking,
typename TProcessList,
typename TOutput,
typename TStack>
54 typedef typename TStack::stack_view_type stack_view_type;
56 typedef typename TStack::particle_type particle_type;
58 typedef std::remove_pointer_t<decltype(std::declval<particle_type>().getNode())>
59 volume_tree_node_type;
61 typedef typename volume_tree_node_type::IModelProperties medium_interface_type;
76 TProcessList& pl, TOutput& out, TStack& stack);
109 void step(particle_type& vParticle);
115 void setEventType(stack_view_type& view, history::EventType);
119 TTracking& tracking_;
120 TProcessList& sequence_;
124 bool forceInteraction_;
125 unsigned int count_ = 0;
128 const char* c8_ascii_ =
130 ,ad8888ba, ,ad8888ba, 88888888ba ad88888ba 88 88 a8P db ad88888ba 131 d8"' `"8b d8"' `"8b 88 "8b d8" "8b 88 88 ,88' d88b d8" "8b 132 d8' d8' `8b 88 ,8P Y8, 88 88 ,88" d8'`8b Y8a a8P 133 88 88 88 88aaaaaa8P' `Y8aaaaa, 88 88,d88' d8' `8b "Y8aaa8P" 134 88 88 88 88""""88' `"""""8b, 88 8888"88, d8YaaaaY8b ,d8"""8b, 135 Y8, Y8, ,8P 88 `8b `8b 88 88P Y8b d8""""""""8b d8" "8b 136 Y8a. .a8P Y8a. .a8P 88 `8b Y8a a8P 88 88 "88, d8' `8b Y8a a8P 137 `"Y8888Y"' `"Y8888Y"' 88 `8b "Y88888P" 88 88 Y8b d8' `8b "Y88888P" 143 #include <corsika/detail/framework/core/Cascade.inl> Import and extend the phys::units package.
The Cascade class is constructed from template arguments making it very versatile.
CORSIKA8 logging utilities.
class "quantity" is the heart of the library.
void run()
The Run function is the main simulation loop, which processes particles from the Stack until the Stac...
Description of physical four-vectors.
`, since they are used everywhere as integral part of the framework.
ProcessReturn
since in a process sequence many status updates can accumulate for a single particle, this enum should define only bit-flags that can be accumulated easily with "|="
Describes the composition of matter Allowes and handles the creation of custom matter compositions...
void setNodes()
set the nodes for all particles on the stack according to their numerical position.
void forceInteraction()
Force an interaction of the top particle of the stack at its current position.
General FourVector object.
prng_type & getRandomStream(string_type const &streamName)