CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
Intersect.hpp
1 /*
2  * (c) Copyright 2020 CORSIKA Project, corsika-project@lists.kit.edu
3  *
4  * This software is distributed under the terms of the GNU General Public
5  * Licence version 3 (GPL Version 3). See file LICENSE for a full version of
6  * the license.
7  */
8 
9 #pragma once
10 
13 #include <corsika/framework/geometry/Intersections.hpp>
14 
15 #include <limits>
16 
17 namespace corsika {
18 
36  template <typename TDerived>
37  class Intersect {
38 
39  protected:
45  template <typename TParticle>
46  auto nextIntersect(TParticle const& particle,
47  TimeType const step_limit =
48  std::numeric_limits<TimeType::value_type>::infinity() *
49  second) const;
50  };
51 
52 } // namespace corsika
53 
54 #include <corsika/detail/modules/tracking/Intersect.inl>
Import and extend the phys::units package.
This is a CRTP class to provide a generic volume-tree intersection for the purpose of tracking...
Definition: Intersect.hpp:37
CORSIKA8 logging utilities.
auto nextIntersect(TParticle const &particle, TimeType const step_limit=std::numeric_limits< TimeType::value_type >::infinity() *second) const
Determines next intersection with any of the geometry volumes.
`, since they are used everywhere as integral part of the framework.