11 #include <corsika/media/Environment.hpp> 12 #include <corsika/framework/geometry/Point.hpp> 13 #include <corsika/framework/geometry/Vector.hpp> 27 #include <boost/math/quadrature/gauss_kronrod.hpp> 46 template <
typename TEnvModel>
47 ShowerAxis(
Point const& pStart, Vector<length_d>
const& length,
48 Environment<TEnvModel>
const& env,
bool const doThrow =
false,
49 int const steps = 10
'000); 51 LengthType getSteplength() const; 53 GrammageType getMaximumX() const; 55 GrammageType getMinimumX() const; 57 GrammageType getProjectedX(Point const& p) const; 59 GrammageType getX(LengthType) const; 61 DirectionVector const& getDirection() const; 63 Point const& getStart() const; 66 Point const pointStart_; 67 Vector<length_d> const length_; 69 LengthType const max_length_, steplength_; 70 DirectionVector const axis_normalized_; 71 std::vector<GrammageType> X_; 73 // for storing the lengths corresponding to equidistant X values 74 GrammageType const X_binning_ = 1_g / 1_cm / 1_cm; 75 std::vector<LengthType> d_; 77 } // namespace corsika 79 #include <corsika/detail/media/ShowerAxis.inl> Import and extend the phys::units package.
returns a pointer to the sub-VolumeTreeNode which is "responsible" for the given , or nullptr iff p is not contained in this volume.
`, since they are used everywhere as integral part of the framework.