CORSIKA  @c8_version@
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 
29  template <typename TDerived>
31 
37  TDerived const& getImplementation() const;
38 
39  public:
49 
60  GrammageType grammage) const;
61 
69  LengthType getMaximumLength(BaseTrajectory const& line, double relError) const;
70  };
71 
72 } // namespace corsika
73 
74 #include <corsika/detail/media/LinearApproximationIntegrator.inl>
GrammageType getIntegrateGrammage(BaseTrajectory const &line) const
Get the integrated Grammage along line.
`, since they are used everywhere as integral part of the framework.
Helper class to integrate 1D density functions.
LengthType getMaximumLength(BaseTrajectory const &line, double relError) const
Get the maximum length l to keep uncertainty below .
A Trajectory is a description of a momvement of an object in three-dimensional space that describes t...
LengthType getArclengthFromGrammage(BaseTrajectory const &line, GrammageType grammage) const
Get the arclength from Grammage along line.