CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
UniformRefractiveIndex.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/media/IRefractiveIndexModel.hpp>
12 
13 namespace corsika {
14 
21  template <typename T>
22  class UniformRefractiveIndex : public T {
23 
24  double n_;
25 
26  public:
35  template <typename... Args>
36  UniformRefractiveIndex(double const n, Args&&... args);
37 
45  double getRefractiveIndex(Point const& point) const override;
46 
52  void setRefractiveIndex(double const n);
53 
54  }; // END: class RefractiveIndex
55 
56 } // namespace corsika
57 
58 #include <corsika/detail/media/UniformRefractiveIndex.inl>
UniformRefractiveIndex(double const n, Args &&... args)
Construct a UniformRefractiveIndex.
`, since they are used everywhere as integral part of the framework.
void setRefractiveIndex(double const n)
Set the refractive index returned by this instance.
double getRefractiveIndex(Point const &point) const override
Evaluate the refractive index at a given location.
A uniform refractive index.