CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
InteractionProcess.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 
13 #include <corsika/media/NuclearComposition.hpp>
14 
15 #include <corsika/detail/framework/process/InteractionProcess.hpp> // for extra traits, method/interface checking
16 
17 namespace corsika {
18 
51  template <typename TModel>
52  class InteractionProcess : public BaseProcess<TModel> {
53 
54  public:
56  };
57 
61  template <typename TProcess>
63  TProcess, std::enable_if_t<
64  std::is_base_of_v<InteractionProcess<typename std::decay_t<TProcess>>,
65  typename std::decay_t<TProcess>>>>
66  : std::true_type {};
67 
70 } // namespace corsika
Import and extend the phys::units package.
A traits marker to identify InteractionProcess.
STL namespace.
Each process in C8 must derive from BaseProcess.
Definition: BaseProcess.hpp:34
`, since they are used everywhere as integral part of the framework.
Process describing the interaction of particles.