CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
Sibyll.hpp
Go to the documentation of this file.
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/modules/sibyll/ParticleConversion.hpp>
12 #include <corsika/modules/sibyll/HadronInteractionModel.hpp>
13 #include <corsika/modules/sibyll/Decay.hpp>
14 #include <corsika/modules/sibyll/NuclearInteractionModel.hpp>
15 
16 #include <corsika/modules/sibyll/InteractionModel.hpp>
17 
18 #include <corsika/framework/process/InteractionProcess.hpp>
19 
27 namespace corsika::sibyll {
34  struct Interaction : public InteractionModel, public InteractionProcess<Interaction> {
35  template <typename TEnvironment>
36  Interaction(TEnvironment const& env)
37  : InteractionModel{env} {}
38  };
39 
46  template <class TNucleonModel>
48  : public NuclearInteractionModel<TNucleonModel>,
49  public InteractionProcess<NuclearInteraction<TNucleonModel>> {
50  public:
51  template <typename TEnvironment>
52  NuclearInteraction(TNucleonModel& model, TEnvironment const& env)
54  };
55 
56 } // namespace corsika::sibyll
This class combines sibyll::HadronInteractionModel, which can only handle hadron projectiles, and sibyll::NuclearInteractionModel, which can handle only nucleus projectile, into a single process.
The sibyll::NuclearInteractionModel provides the SIBYLL semi superposition model. ...
sibyll::NuclearInteraction is the process for ProcessSequence.
Definition: Sibyll.hpp:47
sibyll::Interaction is the process for ProcessSequence.
Definition: Sibyll.hpp:34
Process describing the interaction of particles.