CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
DefaultSecondaryProducer.hpp
1 /*
2  * (c) Copyright 2021 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/stack/SecondaryView.hpp>
12 
13 namespace corsika {
14 
19  template <class T1, template <class> class T2>
21 
23 
24  public:
25  static bool constexpr has_event{false};
26 
34  template <typename Particle>
35  void new_secondary(Particle&&) const {
36  CORSIKA_LOG_TRACE("DefaultSecondaryProducer::new_secondary(Particle&&)");
37  }
38 
47  template <typename Particle>
48  DefaultSecondaryProducer(Particle const&) {
49 
50  CORSIKA_LOG_TRACE("DefaultSecondaryProducer::DefaultSecondaryProducer(Particle&)");
51  }
52  };
53 
54 } // namespace corsika
void new_secondary(Particle &&) const
Method is called after a new secondary has been created on the SecondaryView.
DefaultSecondaryProducer(Particle const &)
Method is called when a new SecondaryView is being created created.
`, since they are used everywhere as integral part of the framework.
SecondaryView can only be constructed by giving a valid Projectile particle, following calls to addSe...
Class to handle the generation of new secondaries.