CORSIKA8  0.0.0
The framework to simulate particle cascades for astroparticle physics
IMediumPropertyModel.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/MediumProperties.hpp>
12 
13 #include <corsika/framework/geometry/Point.hpp>
15 
16 namespace corsika {
17 
24  template <typename TModel>
25  class IMediumPropertyModel : public TModel {
26 
27  public:
34  virtual Medium getMedium(Point const&) const = 0;
35 
39  virtual ~IMediumPropertyModel() = default;
40 
41  }; // END: class IMediumTypeModel
42 
43 } // namespace corsika
Import and extend the phys::units package.
virtual Medium getMedium(Point const &) const =0
Evaluate the medium type at a given location.
The cascade namespace assembles all objects needed to simulate full particles cascades.
An interface for type of media, needed e.g.
virtual ~IMediumPropertyModel()=default
A virtual default destructor.