13 #include <corsika/framework/random/RNGManager.hpp> 48 bool constexpr
isValid(Code
const projectileId, Code
const targetId,
66 [[maybe_unused]] Code
const projectile, [[maybe_unused]] Code
const target,
69 CORSIKA_LOGGER_ERROR(logger_,
"cross section not implemented in SOPHIA!");
83 template <
typename TSecondaries>
84 void doInteraction(TSecondaries& view, Code
const projectile, Code
const target,
88 HEPEnergyType constexpr getMinEnergyCoM()
const {
return minEnergyCoM_; }
89 HEPEnergyType constexpr getMaxEnergyCoM()
const {
return maxEnergyCoM_; }
92 static HEPEnergyType constexpr minEnergyCoM_ = 1.079166345 * 1e9 * electronvolt;
93 static HEPEnergyType constexpr maxEnergyCoM_ = 1.e6 * 1e9 * electronvolt;
101 std::shared_ptr<spdlog::logger> logger_ =
102 get_logger(
"corsika_sophia_InteractionModel");
107 #include <corsika/detail/modules/sophia/InteractionModel.inl> void doInteraction(TSecondaries &view, Code const projectile, Code const target, FourMomentum const &projectileP4, FourMomentum const &targetP4)
In this function SOPHIA is called to produce one event.
Import and extend the phys::units package.
std::shared_ptr< spdlog::logger > get_logger(std::string const &name, bool const defaultlog=false)
Get a smart pointer to an existing logger.
bool constexpr isValid(Code const projectileId, Code const targetId, HEPEnergyType const sqrtSnn) const
evaluated validity of collision system.
Description of physical four-vectors.
static constexpr quantity zero()
We need a "zero" of each type – for comparisons, to initialize running totals, etc.
void setVerbose(bool const flag)
Set the Verbose flag.
Interface to particle properties.
CrossSectionType getCrossSection([[maybe_unused]] Code const projectile, [[maybe_unused]] Code const target, [[maybe_unused]] FourMomentum const &projectileP4, [[maybe_unused]] FourMomentum const &targetP4) const
Returns inelastic (production) cross section.
Provides the SOPHIA photon-nucleon interaction model.
General FourVector object.
prng_type & getRandomStream(string_type const &streamName)