diff --git a/corsika/detail/modules/fluka/InteractionModel.inl b/corsika/detail/modules/fluka/InteractionModel.inl index 8983d3980dc15655990ecb866b44655e4d395521..87f03804c8f9b6cd41422afcea99e2119ffcb89e 100644 --- a/corsika/detail/modules/fluka/InteractionModel.inl +++ b/corsika/detail/modules/fluka/InteractionModel.inl @@ -25,8 +25,6 @@ #include <corsika/framework/core/EnergyMomentumOperations.hpp> #include <corsika/framework/core/PhysicalUnits.hpp> - -#include <FLUKA.hpp> #include <corsika/modules/fluka/ParticleConversion.hpp> namespace corsika::fluka { diff --git a/corsika/modules/fluka/InteractionModel.hpp b/corsika/modules/fluka/InteractionModel.hpp index 206319f85ef8dc1215f19d7bacbeea20a7840c89..9ba608aa75f1624640775ad1552b885101e0d8dd 100644 --- a/corsika/modules/fluka/InteractionModel.hpp +++ b/corsika/modules/fluka/InteractionModel.hpp @@ -21,11 +21,24 @@ #include <corsika/framework/random/RNGManager.hpp> namespace corsika::fluka { + /** + * This class exposes the (hadronic) interactions of FLUKA. FLUKA needs to be + * initialized with a predefined set of target materials and a flag describing the type + * of interactions (elastic, inelastic, electromagnetic dissociation). Currently, only + * inelastic events are supported. + * + */ class InteractionModel { public: + /** + * Create a new InteractionModel. The FLUKA materials are collected from the elements + * present in the environment. Each element is its own FLUKA material, no FLUKA + * compounds are used. + */ template <typename TEnvironment> InteractionModel(TEnvironment const&); + //! Return the cross-section of a given combination of projectile/target. CrossSectionType getCrossSection(Code projectileId, Code targetId, FourMomentum const& projectileP4, FourMomentum const& targetP4) const; @@ -33,6 +46,7 @@ namespace corsika::fluka { bool isValid(Code projectileID, Code targetID, HEPEnergyType sqrtS) const; bool isValid(Code projectileID, int material, HEPEnergyType sqrtS) const; + //! convert target Code to FLUKA material number int getMaterialIndex(Code targetID) const; template <typename TSecondaryView>