IAP GITLAB

Skip to content
Snippets Groups Projects
Commit e0fc31c4 authored by Ralf M Ulrich's avatar Ralf M Ulrich Committed by Ralf Ulrich
Browse files

corsika-data

parent 442c4c47
No related branches found
No related tags found
1 merge request!245Include proposal process rebase
Subproject commit 47e6e5abb78b8151c9748af44e09efcbee810fac
Subproject commit 968325e6a734e3967c1aff15138f72b6b13edf0b
......@@ -137,21 +137,22 @@ int main() {
random::RNGManager::GetInstance().RegisterRandomStream("sibyll");
random::RNGManager::GetInstance().RegisterRandomStream("pythia");
//random::RNGManager::GetInstance().RegisterRandomStream("proposal");
// random::RNGManager::GetInstance().RegisterRandomStream("proposal");
process::sibyll::Interaction sibyll;
process::sibyll::NuclearInteraction sibyllNuc(sibyll, env);
process::sibyll::Decay decay;
// cascade with only HE model ==> HE cut
process::particle_cut::ParticleCut cut(80_GeV, true, true);
//process::proposal::Interaction proposal(env, cut);
// process::proposal::Interaction proposal(env, cut);
process::track_writer::TrackWriter trackWriter("tracks.dat");
process::energy_loss::EnergyLoss eLoss{showerAxis};
// assemble all processes into an ordered process list
auto sequence = stackInspect << sibyll << sibyllNuc /* << proposal*/ << decay
/* << eLoss */
<< cut << trackWriter;
auto sequence = stackInspect << sibyll << sibyllNuc /* << proposal*/
<< decay
/* << eLoss */
<< cut << trackWriter;
// define air shower object, run simulation
cascade::Cascade EAS(env, tracking, sequence, stack);
......
......@@ -19,15 +19,15 @@
#include <corsika/process/longitudinal_profile/LongitudinalProfile.h>
#include <corsika/process/observation_plane/ObservationPlane.h>
#include <corsika/process/particle_cut/ParticleCut.h>
#include <corsika/process/proposal/ContinuousProcess.h>
#include <corsika/process/proposal/Interaction.h>
#include <corsika/process/track_writer/TrackWriter.h>
#include <corsika/process/tracking_line/TrackingLine.h>
#include <corsika/random/RNGManager.h>
#include <corsika/setup/SetupStack.h>
#include <corsika/setup/SetupTrajectory.h>
#include <corsika/units/PhysicalUnits.h>
#include <corsika/utl/CorsikaFenv.h>
#include <corsika/process/track_writer/TrackWriter.h>
#include <corsika/process/proposal/Interaction.h>
#include <corsika/process/proposal/ContinuousProcess.h>
#include <iomanip>
#include <iostream>
......@@ -147,12 +147,8 @@ int main(int argc, char** argv) {
process::observation_plane::ObservationPlane observationLevel(obsPlane,
"particles.dat");
auto sequence = proposalCounted
<< cut
<< em_continuous
<< longprof
<< observationLevel
<< trackWriter;
auto sequence = proposalCounted << cut << em_continuous << longprof << observationLevel
<< trackWriter;
// define air shower object, run simulation
tracking_line::TrackingLine tracking;
cascade::Cascade EAS(env, tracking, sequence, stack);
......
......@@ -64,12 +64,12 @@ namespace corsika::process {
cout << "ProcessCut: DoSecondaries: " << pid << " E= " << energy
<< ", EcutTot=" << (emEnergy_ + invEnergy_ + energy_) / 1_GeV << " GeV"
<< endl;
if (cutEm_ && ParticleIsEmParticle(pid)) {
cout << "removing em. particle..." << endl;
emEnergy_ += energy;
emCount_ += 1;
p.Delete();
} else if (cutInv_ && ParticleIsInvisible(pid)) {
if (cutEm_ && ParticleIsEmParticle(pid)) {
cout << "removing em. particle..." << endl;
emEnergy_ += energy;
emCount_ += 1;
p.Delete();
} else if (cutInv_ && ParticleIsInvisible(pid)) {
cout << "removing inv. particle..." << endl;
invEnergy_ += energy;
invCount_ += 1;
......@@ -90,7 +90,9 @@ namespace corsika::process {
}
ParticleCut::ParticleCut(const units::si::HEPEnergyType eCut, bool em, bool inv)
: eCut_(eCut), cutEm_(em), cutInv_(inv) {
: eCut_(eCut)
, cutEm_(em)
, cutInv_(inv) {
emEnergy_ = 0_GeV;
emCount_ = 0;
......
......@@ -16,17 +16,17 @@
namespace corsika::process {
namespace particle_cut {
class ParticleCut : public process::SecondariesProcess<ParticleCut> {
units::si::HEPEnergyType const eCut_;
bool cutEm_;
bool cutInv_;
units::si::HEPEnergyType energy_ = 0 * units::si::electronvolt;
units::si::HEPEnergyType emEnergy_ = 0 * units::si::electronvolt;
unsigned int emCount_ = 0;
units::si::HEPEnergyType invEnergy_ = 0 * units::si::electronvolt;
unsigned int invCount_ = 0;
unsigned int invCount_ = 0;
public:
ParticleCut(const units::si::HEPEnergyType eCut, bool em, bool inv);
......
......@@ -102,7 +102,7 @@ TEST_CASE("ParticleCut", "[processes]") {
CHECK(view.GetSize() == 9);
}
SECTION("cut low energy") {
ParticleCut cut(20_GeV, true, true);
......
......@@ -113,4 +113,3 @@ namespace corsika::process::proposal {
corsika::units::si::LengthType MaxStepLength(Particle const&, Track const&);
};
} // namespace corsika::process::proposal
......@@ -6,7 +6,6 @@
* the license.
*/
#include <corsika/environment/IMediumModel.h>
#include <corsika/environment/NuclearComposition.h>
#include <corsika/process/proposal/Interaction.h>
......
......@@ -20,7 +20,12 @@ args = parser.parse_args()
filelist = []
if args.all:
for dirpath, dirnames, filenames in os.walk("."):
if "ThirdParty" in dirpath:
doExclude = False
for exclude in ["ThirdParty", "PROPOSAL", "include", "build"]:
if exclude in dirpath:
doExclude = True
break
if doExclude:
continue
for f in filenames:
if f.endswith(".h") or f.endswith(".cc"):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment