CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
DummyTestPropagator.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 #pragma once
9 
10 #include <corsika/media/Environment.hpp>
11 #include <corsika/framework/geometry/Point.hpp>
12 #include <corsika/framework/geometry/Vector.hpp>
15 #include <corsika/modules/radio/propagators/RadioPropagator.hpp>
16 
17 namespace corsika {
18 
28  template <typename TEnvironment>
29  class DummyTestPropagator final
30  : public RadioPropagator<DummyTestPropagator<TEnvironment>, TEnvironment> {
31 
33  using SignalPathCollection = typename Base::SignalPathCollection;
34 
35  public:
40  DummyTestPropagator(TEnvironment const& env);
41 
48  template <typename Particle>
49  SignalPathCollection propagate(Particle const& particle, Point const& source,
50  Point const& destination);
51 
52  private:
53  std::deque<Point> points;
54  std::vector<double> rindex;
55 
56  }; // End: SimplePropagator
57 
58  template <typename TEnvironment>
59  DummyTestPropagator<TEnvironment> make_dummy_test_radio_propagator(
60  TEnvironment const& env) {
62  }
63 
64 } // namespace corsika
65 
66 #include <corsika/detail/modules/radio/propagators/DummyTestPropagator.inl>
Import and extend the phys::units package.
This class implements a dummy propagator that uses the straight-line (vector) between the particle lo...
SignalPathCollection propagate(Particle const &particle, Point const &source, Point const &destination)
Return the collection of paths from source to destination.
DummyTestPropagator(TEnvironment const &env)
Construct a new SimplePropagator with a given environment.
`, since they are used everywhere as integral part of the framework.
Constants are defined with static units, based on the package (namespace) phys::units, imported in PhysicsUnits.hpp.
Radio propagators are used to calculate the propagation paths from particles to antennas.