diff --git a/corsika/modules/hadronic_elastic_model/HadronicElasticModel.hpp b/corsika/modules/hadronic_elastic_model/HadronicElasticModel.hpp index cb71c12220c9a4e27d60eb8266b545ade5c54de7..d925a80a8d88bc4f869dec4638ba886c3ce38fd5 100644 --- a/corsika/modules/hadronic_elastic_model/HadronicElasticModel.hpp +++ b/corsika/modules/hadronic_elastic_model/HadronicElasticModel.hpp @@ -11,14 +11,14 @@ #pragma once #include <corsika/framework/core/ParticleProperties.hpp> -#include <corsika/framework/sequence/InteractionProcess.hpp> #include <corsika/framework/random/RNGManager.hpp> +#include <corsika/framework/sequence/InteractionProcess.hpp> #include <corsika/framework/core/PhysicalConstants.hpp> #include <corsika/framework/core/PhysicalUnits.hpp> namespace corsika::hadronic_elastic_model { - + /** * A simple model for elastic hadronic interactions based on the formulas * in Gaisser, Engel, Resconi, Cosmic Rays and Particle Physics (Cambridge Univ. Press, @@ -43,8 +43,7 @@ namespace corsika::hadronic_elastic_model { using inveV2 = decltype(1 / units::si::square(units::si::electronvolt)); corsika::RNG& fRNG = - corsika::RNGManager::GetInstance().GetRandomStream( - "HadronicElasticModel"); + corsika::RNGManager::GetInstance().GetRandomStream("HadronicElasticModel"); inveV2 B(eV2 s) const; corsika::units::si::CrossSectionType CrossSection(SquaredHEPEnergyType s) const; diff --git a/corsika/modules/qgsjetII/CMakeLists.txt b/corsika/modules/qgsjetII/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..f9b083cd192ef729d9542883ddb2bf16f68e4138 --- /dev/null +++ b/corsika/modules/qgsjetII/CMakeLists.txt @@ -0,0 +1,22 @@ +set (input_dir ${PROJECT_SOURCE_DIR}/corsika/modules/qgsjetII) +set (output_dir ${PROJECT_BINARY_DIR}/corsika/modules/qgsjetII) + +file (MAKE_DIRECTORY ${output_dir}) + +add_custom_command ( + OUTPUT ${output_dir}/Generated.inc + COMMAND ${input_dir}/code_generator.py + ${PROJECT_BINARY_DIR}/corsika/framework/core/particle_db.pkl + ${input_dir}/qgsjet-II-04-codes.dat + DEPENDS code_generator.py + ${PROJECT_BINARY_DIR}/corsika/framework/core/particle_db.pkl + qgsjet-II-04-codes.dat + WORKING_DIRECTORY + ${output_dir}/ + COMMENT "Generate conversion tables for particle codes QGSJetII <-> CORSIKA" + VERBATIM + ) + +add_custom_target (SourceDirLinkQgs DEPENDS ${output_dir}/Generated.inc) +add_dependencies (CORSIKA8 SourceDirLinkQgs) + diff --git a/corsika/modules/qgsjetII/Interaction.hpp b/corsika/modules/qgsjetII/Interaction.hpp index f0c596742a5f423e6154c051d92127124cf4af73..2498bb9f36936c6eaaa118067f61640d3216064e 100644 --- a/corsika/modules/qgsjetII/Interaction.hpp +++ b/corsika/modules/qgsjetII/Interaction.hpp @@ -11,9 +11,9 @@ #pragma once #include <corsika/framework/core/ParticleProperties.hpp> -#include <corsika/framework/sequence/InteractionProcess.hpp> -#include <corsika/framework/random/RNGManager.hpp> #include <corsika/framework/core/PhysicalUnits.hpp> +#include <corsika/framework/random/RNGManager.hpp> +#include <corsika/framework/sequence/InteractionProcess.hpp> #include <string> @@ -39,9 +39,8 @@ namespace corsika::qgsjetII { } corsika::units::si::CrossSectionType GetCrossSection( - const corsika::Code, const corsika::Code, - const corsika::units::si::HEPEnergyType, const unsigned int Abeam = 0, - const unsigned int Atarget = 0) const; + const corsika::Code, const corsika::Code, const corsika::units::si::HEPEnergyType, + const unsigned int Abeam = 0, const unsigned int Atarget = 0) const; template <typename TParticle> corsika::units::si::GrammageType GetInteractionLength(TParticle const&) const; @@ -55,11 +54,10 @@ namespace corsika::qgsjetII { corsika::EProcessReturn DoInteraction(TProjectile&); private: - corsika::RNG& fRNG = - corsika::RNGManager::GetInstance().GetRandomStream("qgran"); + corsika::RNG& fRNG = corsika::RNGManager::GetInstance().GetRandomStream("qgran"); const int maxMassNumber_ = 208; }; -} // namespace corsika::process::qgsjetII +} // namespace corsika::qgsjetII #include <corsika/detail/modules/qgsjetII/Interaction.inl> diff --git a/corsika/modules/qgsjetII/QGSJetIIFragmentsStack.hpp b/corsika/modules/qgsjetII/QGSJetIIFragmentsStack.hpp index b3de2027539c8a86b581e80e3c321a83c27f2866..84c90873ebd28ededf341bc0a6bede00b75f4828 100644 --- a/corsika/modules/qgsjetII/QGSJetIIFragmentsStack.hpp +++ b/corsika/modules/qgsjetII/QGSJetIIFragmentsStack.hpp @@ -10,12 +10,12 @@ #pragma once +#include <corsika/framework/core/PhysicalUnits.hpp> #include <corsika/framework/geometry/RootCoordinateSystem.hpp> #include <corsika/framework/geometry/Vector.hpp> +#include <corsika/framework/stack/Stack.hpp> #include <corsika/modules/qgsjetII/ParticleConversion.hpp> #include <corsika/modules/qgsjetII/qgsjet-II-04.hpp> -#include <corsika/framework/stack/Stack.hpp> -#include <corsika/framework/core/PhysicalUnits.hpp> namespace corsika::qgsjetII { diff --git a/corsika/modules/qgsjetII/QGSJetIIStack.hpp b/corsika/modules/qgsjetII/QGSJetIIStack.hpp index d72b5d8bffc015ffb2dcff1601c96b5e4af64d07..eca8669e06156f345c8476ee6abf4eebae630b5c 100644 --- a/corsika/modules/qgsjetII/QGSJetIIStack.hpp +++ b/corsika/modules/qgsjetII/QGSJetIIStack.hpp @@ -10,12 +10,12 @@ #pragma once +#include <corsika/framework/core/PhysicalUnits.hpp> #include <corsika/framework/geometry/CoordinateSystem.hpp> #include <corsika/framework/geometry/Vector.hpp> +#include <corsika/framework/stack/Stack.hpp> #include <corsika/modules/qgsjetII/ParticleConversion.hpp> #include <corsika/modules/qgsjetII/qgsjet-II-04.hpp> -#include <corsika/framework/stack/Stack.hpp> -#include <corsika/framework/core/PhysicalUnits.hpp> namespace corsika::qgsjetII { @@ -54,11 +54,12 @@ namespace corsika::qgsjetII { using namespace corsika::units::si; return qgarr14_.esp[i][0] * 1_GeV; } - MomentumVector GetMomentum(const unsigned int i, const corsika::CoordinateSystem& CS) const { + MomentumVector GetMomentum(const unsigned int i, + const corsika::CoordinateSystem& CS) const { using namespace corsika::units::si; corsika::QuantityVector<hepmomentum_d> components = {qgarr14_.esp[i][2] * 1_GeV, - qgarr14_.esp[i][3] * 1_GeV, - qgarr14_.esp[i][1] * 1_GeV}; + qgarr14_.esp[i][3] * 1_GeV, + qgarr14_.esp[i][1] * 1_GeV}; return MomentumVector(CS, components); } @@ -86,8 +87,7 @@ namespace corsika::qgsjetII { using corsika::ParticleBase<StackIteratorInterface>::GetIndex; public: - void SetParticleData(const int vID, - const corsika::units::si::HEPEnergyType vE, + void SetParticleData(const int vID, const corsika::units::si::HEPEnergyType vE, const MomentumVector& vP, const corsika::units::si::HEPMassType vM) { SetPID(vID); @@ -96,8 +96,7 @@ namespace corsika::qgsjetII { } void SetParticleData(ParticleInterface<StackIteratorInterface>& /*parent*/, - const int vID, - const corsika::units::si::HEPEnergyType vE, + const int vID, const corsika::units::si::HEPEnergyType vE, const MomentumVector& vP, const corsika::units::si::HEPMassType vM) { SetPID(vID); @@ -120,7 +119,9 @@ namespace corsika::qgsjetII { GetStackData().GetId(GetIndex())); } - MomentumVector GetMomentum(const corsika::CoordinateSystem& CS) const { return GetStackData().GetMomentum(GetIndex(), CS); } + MomentumVector GetMomentum(const corsika::CoordinateSystem& CS) const { + return GetStackData().GetMomentum(GetIndex(), CS); + } void SetMomentum(const MomentumVector& v) { GetStackData().SetMomentum(GetIndex(), v); diff --git a/corsika/modules/qgsjetII/qgsjet-II-04.hpp b/corsika/modules/qgsjetII/qgsjet-II-04.hpp index 3d3db98e6fd44648022cbcec7c8dbe3032c30ade..20cbb40dc6eb2ab7858d351615c6cb6899b7300c 100644 --- a/corsika/modules/qgsjetII/qgsjet-II-04.hpp +++ b/corsika/modules/qgsjetII/qgsjet-II-04.hpp @@ -110,8 +110,6 @@ void lzmafillarray_(const double& dum, const int& idum); #include <corsika/detail/modules/qgsjetII/qgsjet-II-04.inl> - - /** * WARNING, TODO, FIXME: this below here has to go away, this is just a dummy until * we "properly" link to the external corsika-data submodule @@ -120,23 +118,30 @@ void lzmafillarray_(const double& dum, const int& idum); namespace corsika_data { void CorDataOpenFile(const std::string&) { - throw std::runtime_error("CorDataOpenFile: Cannot read compressed data files with dummy library."); + throw std::runtime_error( + "CorDataOpenFile: Cannot read compressed data files with dummy library."); } void CorDataFillArray(double*, const int&) { - throw std::runtime_error("CorDataFillArray: Cannot read compressed data files with dummy library."); + throw std::runtime_error( + "CorDataFillArray: Cannot read compressed data files with dummy library."); } void CorDataCloseFile() { - throw std::runtime_error("CorDataCloseFile: Cannot read compressed data files with dummy library."); + throw std::runtime_error( + "CorDataCloseFile: Cannot read compressed data files with dummy library."); } double CorDataNextNumber() { - throw std::runtime_error("CorDataNextNumber: Cannot read compressed data files with dummy library."); + throw std::runtime_error( + "CorDataNextNumber: Cannot read compressed data files with dummy library."); return 0; } void CorDataNextText(std::string&) { - throw std::runtime_error("CorDataNextText(string&): Cannot read compressed data files with dummy library."); + throw std::runtime_error( + "CorDataNextText(string&): Cannot read compressed data files with dummy " + "library."); } void CorDataNextText(char*, int) { - throw std::runtime_error("CorDataNextText(char*): Cannot read compressed data files with dummy library."); + throw std::runtime_error( + "CorDataNextText(char*): Cannot read compressed data files with dummy library."); } bool CorDataCanDeCompress() { return false; } @@ -149,7 +154,8 @@ namespace corsika_data { void cordataclosefile_() { CorDataCloseFile(); } double cordatanextnumber_() { return CorDataNextNumber(); } void cordatanexttext_(char*, int) { - throw std::runtime_error("cordatanexttext_: Cannot read compressed data files with dummy library."); + throw std::runtime_error( + "cordatanexttext_: Cannot read compressed data files with dummy library."); } int cordatacandecompress_() { return 0; } } diff --git a/tests/modules/testQGSJetII.cpp b/tests/modules/testQGSJetII.cpp index a0762688005cd8f77942654585d9ff073e98553d..866dbfa8fc823d2b6c3c22efbefef748281bcb5c 100644 --- a/tests/modules/testQGSJetII.cpp +++ b/tests/modules/testQGSJetII.cpp @@ -58,8 +58,8 @@ TEST_CASE("QgsjetII", "[processes]") { #include <corsika/framework/geometry/RootCoordinateSystem.hpp> #include <corsika/framework/geometry/Vector.hpp> -#include <corsika/framework/core/PhysicalUnits.hpp> #include <corsika/framework/core/ParticleProperties.hpp> +#include <corsika/framework/core/PhysicalUnits.hpp> #include <corsika/setup/SetupStack.hpp> #include <corsika/setup/SetupTrajectory.hpp> @@ -85,7 +85,7 @@ TEST_CASE("QgsjetIIInterface", "[processes]") { theMedium->SetModelProperties<MyHomogeneousModel>( 1_kg / (1_m * 1_m * 1_m), corsika::NuclearComposition(std::vector<corsika::Code>{corsika::Code::Oxygen}, - std::vector<float>{1.})); + std::vector<float>{1.})); auto const* nodePtr = theMedium.get(); universe.AddChild(std::move(theMedium));