CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
GladstoneDaleRefractiveIndex.hpp
1 /*
2  * (c) Copyright 2023 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/media/IRefractiveIndexModel.hpp>
12 
13 namespace corsika {
14 
21  template <typename T>
22  class GladstoneDaleRefractiveIndex : public T {
23 
24  double const
25  referenceRefractivity_;
27  referenceInvDensity_;
28 
29  public:
40  template <typename... Args>
41  GladstoneDaleRefractiveIndex(double const seaLevelRefractiveIndex, Point const point,
42  Args&&... args);
43 
50  double getRefractiveIndex(Point const& point) const override;
51 
52  }; // END: class GladstoneDaleRefractiveIndex
53 
54 } // namespace corsika
55 
56 #include <corsika/detail/media/GladstoneDaleRefractiveIndex.inl>
GladstoneDaleRefractiveIndex(double const seaLevelRefractiveIndex, Point const point, Args &&... args)
Construct a GladstoneDaleRefractiveIndex.
double getRefractiveIndex(Point const &point) const override
Evaluate the refractive index at a given location.
class "quantity" is the heart of the library.
Definition: quantity.hpp:54
`, since they are used everywhere as integral part of the framework.