12 #include <corsika/framework/geometry/Line.hpp> 13 #include <corsika/framework/geometry/Plane.hpp> 14 #include <corsika/framework/geometry/Sphere.hpp> 15 #include <corsika/framework/geometry/Vector.hpp> 16 #include <corsika/framework/geometry/StraightTrajectory.hpp> 17 #include <corsika/framework/geometry/Intersections.hpp> 19 #include <corsika/modules/tracking/Intersect.hpp> 21 #include <type_traits> 42 template <
typename TParticle>
46 template <
typename TParticle>
47 auto getTrack(TParticle
const& particle);
50 template <
typename TParticle>
54 template <
typename TParticle,
typename TBaseNodeType>
58 template <
typename TParticle>
61 static std::string getName() {
return "Tracking-Straight"; }
62 static std::string getVersion() {
return "1.0.0"; }
67 #include <corsika/detail/modules/tracking/TrackingStraight.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...
Tracking of particles without charge or in no magnetic fields.
CORSIKA8 logging utilities.
Container to store and return a list of intersections of a trajectory with a geometric volume objects...
auto getTrack(TParticle const &particle)
Determine track of particle.
static Intersections intersect(TParticle const &particle, Sphere const &sphere)
find intersection of Sphere with Track
static auto makeStep(TParticle const &particle, LengthType const steplength)
Performs one straight step of length steplength.
Describes a sphere in space.