CORSIKA
@c8_version@
The framework to simulate particle cascades for astroparticle physics
ExponentialRefractiveIndex.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
22
template
<
typename
T>
23
class
ExponentialRefractiveIndex
:
public
T {
24
25
double
n0_;
26
InverseLengthType
lambda_;
27
Point
center_;
28
LengthType
radius_;
29
30
public
:
40
template
<
typename
... Args>
41
ExponentialRefractiveIndex
(
double
const
n0,
InverseLengthType
const
lambda,
42
Point
const
center,
LengthType
const
radius,
43
Args&&... args);
44
51
double
getRefractiveIndex
(
Point
const
& point)
const
final
override
;
52
53
};
// END: class ExponentialRefractiveIndex
54
55
}
// namespace corsika
56
57
#include <corsika/detail/media/ExponentialRefractiveIndex.inl>
corsika::Point
Definition:
Point.hpp:22
corsika::ExponentialRefractiveIndex::getRefractiveIndex
double getRefractiveIndex(Point const &point) const final override
Evaluate the refractive index at a given location using its z-coordinate.
phys::units::quantity< phys::units::dimensions<-1, 0, 0 >, double >
corsika
`, since they are used everywhere as integral part of the framework.
Definition:
BoundaryCrossingProcess.hpp:14
corsika::ExponentialRefractiveIndex
An exponential refractive index.
Definition:
ExponentialRefractiveIndex.hpp:23
corsika::ExponentialRefractiveIndex::ExponentialRefractiveIndex
ExponentialRefractiveIndex(double const n0, InverseLengthType const lambda, Point const center, LengthType const radius, Args &&... args)
Construct an ExponentialRefractiveIndex.
corsika
media
ExponentialRefractiveIndex.hpp
Generated by
1.8.13