CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
SignalPath.hpp
1 /*
2  * (c) Copyright 2022 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/framework/geometry/Path.hpp>
12 #include <corsika/framework/geometry/Vector.hpp>
13 
14 namespace corsika {
15 
21  struct SignalPath final : public Path {
22 
23  // TODO: discuss if we need average refractivity or average refractive index
26  double const refractive_index_source_;
27  double const
31  LengthType const
33 
38  SignalPath(TimeType const propagation_time, double const average_refractive_index,
39  double const refractive_index_source,
40  double const refractive_index_destination,
41  Vector<dimensionless_d> const& emit,
42  Vector<dimensionless_d> const& receive, LengthType const R_distance,
43  std::deque<Point> const& points);
44 
45  }; // END: class SignalPath final
46 
47 } // namespace corsika
48 
49 #include <corsika/detail/modules/radio/propagators/SignalPath.inl>
double const refractive_index_source_
The refractive index at the source.
Definition: SignalPath.hpp:26
Vector< dimensionless_d > const emit_
The (unit-length) emission vector.
Definition: SignalPath.hpp:29
double const average_refractive_index_
The average refractive index.
Definition: SignalPath.hpp:25
SignalPath(TimeType const propagation_time, double const average_refractive_index, double const refractive_index_source, double const refractive_index_destination, Vector< dimensionless_d > const &emit, Vector< dimensionless_d > const &receive, LengthType const R_distance, std::deque< Point > const &points)
Create a new SignalPath instance.
double const refractive_index_destination_
The refractive index at the destination point.
Definition: SignalPath.hpp:28
`, since they are used everywhere as integral part of the framework.
TimeType const propagation_time_
The total propagation time.
Definition: SignalPath.hpp:24
Vector< dimensionless_d > const receive_
The (unit-length) receive vector.
Definition: SignalPath.hpp:30
LengthType const R_distance_
The distance from the point of emission to an observer. TODO: optical path, not geometrical! (probabl...
Definition: SignalPath.hpp:32
Store the photon signal path between two points.
Definition: SignalPath.hpp:21
This class represents a (potentially) curved path between two points using N >= 1 straight-line segme...
Definition: Path.hpp:22