CORSIKA8  0.0.0
The framework to simulate particle cascades for astroparticle physics
LinearApproximationIntegrator.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 <limits>
12 
13 #include <corsika/framework/geometry/Line.hpp>
14 #include <corsika/framework/geometry/BaseTrajectory.hpp>
15 
16 namespace corsika {
17 
18  template <typename TDerived>
20  auto const& getImplementation() const;
21 
22  public:
23  auto getIntegrateGrammage(BaseTrajectory const& line) const;
24 
25  auto getArclengthFromGrammage(BaseTrajectory const& line,
26  GrammageType grammage) const;
27 
28  auto getMaximumLength(BaseTrajectory const& line,
29  [[maybe_unused]] double relError) const;
30  };
31 
32 } // namespace corsika
33 
34 #include <corsika/detail/media/LinearApproximationIntegrator.inl>
class "quantity" is the heart of the library.
Definition: quantity.hpp:54
The cascade namespace assembles all objects needed to simulate full particles cascades.
A Trajectory is a description of a momvement of an object in three-dimensional space that describes t...