CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
TrackingLeapFrogStraight.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 
11 #include <corsika/framework/geometry/Line.hpp>
12 #include <corsika/framework/geometry/Plane.hpp>
13 #include <corsika/framework/geometry/Sphere.hpp>
14 #include <corsika/framework/geometry/StraightTrajectory.hpp>
15 #include <corsika/framework/geometry/Vector.hpp>
18 
19 #include <corsika/modules/tracking/TrackingStraight.hpp>
20 
21 #include <type_traits>
22 #include <utility>
23 
24 namespace corsika {
25 
26  namespace tracking_leapfrog_straight {
27 
46 
47  public:
58  Tracking(double const firstFraction = 0.55)
59  : firstFraction_(firstFraction) {}
60 
61  template <typename Particle>
62  auto getTrack(Particle& particle);
63 
64  static std::string getName() { return "LeapFrogStraight"; }
65  static std::string getVersion() { return "1.0.0"; }
66 
67  protected:
68  double firstFraction_;
69  };
70 
71  } // namespace tracking_leapfrog_straight
72 
73 } // namespace corsika
74 
75 #include <corsika/detail/modules/tracking/TrackingLeapFrogStraight.inl>
Import and extend the phys::units package.
The class tracking_leapfrog_straight::Tracking inherits from tracking_line::Tracking and adds a (two-...
Tracking of particles without charge or in no magnetic fields.
`, since they are used everywhere as integral part of the framework.
Interface to particle properties.