From 30606dc7bc20f058ddec2bcd5769267b4718de8e Mon Sep 17 00:00:00 2001
From: ralfulrich <ralf.ulrich@kit.edu>
Date: Sat, 3 Oct 2020 08:23:25 +0200
Subject: [PATCH] formating and copyrights,  clang-format is (now) part of
 container

---
 .gitlab-ci.yml                                | 46 +++++++++----------
 Documentation/Examples/cascade_example.cc     |  2 +-
 Documentation/Examples/em_shower.cc           |  9 ++--
 Documentation/Examples/vertical_EAS.cc        | 18 ++++----
 Environment/NuclearComposition.h              | 16 ++-----
 Framework/Cascade/Cascade.h                   | 14 +++---
 .../ProcessSequence/testProcessSequence.cc    |  4 +-
 Processes/EnergyLoss/EnergyLoss.cc            | 10 ++--
 Processes/EnergyLoss/EnergyLoss.h             |  7 +--
 .../ObservationPlane/ObservationPlane.cc      |  6 +--
 Processes/ObservationPlane/ObservationPlane.h |  2 +-
 Processes/ParticleCut/ParticleCut.cc          |  6 ++-
 Processes/Proposal/ContinuousProcess.cc       |  6 +--
 Processes/Proposal/Interaction.cc             | 13 +++---
 Processes/Proposal/ProposalProcessBase.cc     |  2 +-
 Processes/Proposal/ProposalProcessBase.h      |  8 ++++
 do-clang-format.py                            |  5 +-
 17 files changed, 91 insertions(+), 83 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 893a544f2..72735cfc8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -55,7 +55,7 @@ check-copyrights:
 
 ##########################################################
 check-clang-format:
-  image: corsika/devel:u-18.04
+  image: corsika/devel:clang-8
   stage: quality
   tags:
     - corsika
@@ -83,7 +83,7 @@ check-clang-format:
   before_script:
    - cd Data && for F in `find . -name "*.bz2" | grep -v ".git"`; do [ ! -f ${F%%.bz2} ] && bunzip2 -vk $F; done
    - cd ${CI_PROJECT_DIR}
-  script:    
+  script:
     - mkdir -p build
     - cd build
     - cmake .. -DCMAKE_BUILD_TYPE=Debug -DWITH_PYTHIA=ON
@@ -91,7 +91,7 @@ check-clang-format:
     - if: $CI_MERGE_REQUEST_ID
     - if: $CI_COMMIT_TAG
     - if: $CI_COMMIT_BRANCH
-  cache: 
+  cache:
     paths:
       - ${CI_PROJECT_DIR}/build/
       - ${CI_PROJECT_DIR}/Data/
@@ -135,7 +135,7 @@ config-clang-8:
     - if: $CI_COMMIT_BRANCH
       when: manual
   allow_failure: true
-  cache: 
+  cache:
     paths:
       - ${CI_PROJECT_DIR}/build/
       - ${CI_PROJECT_DIR}/Data/
@@ -152,7 +152,7 @@ build-u-18_04:
     key: "${CI_COMMIT_REF_SLUG}-gcc"
 
 # build for clang
-build-clang-8: 
+build-clang-8:
   extends: .build
   image: corsika/devel:clang-8
   dependencies:
@@ -175,7 +175,7 @@ build-clang-8:
   script:
     - cd build
     - set -o pipefail
-    - ctest -j4 -VV | gzip -v -9 > test.log.gz 
+    - ctest -j4 -VV | gzip -v -9 > test.log.gz
   rules:
     - if: $CI_MERGE_REQUEST_ID
       when: manual
@@ -192,7 +192,7 @@ build-clang-8:
         - ${CI_PROJECT_DIR}/build/test_outputs/junit*.xml
     paths:
       - ${CI_PROJECT_DIR}/build/test.log.gz
-  cache: 
+  cache:
     paths:
       - ${CI_PROJECT_DIR}/build/
       - ${CI_PROJECT_DIR}/Data/
@@ -233,7 +233,7 @@ test-clang-8:
     - cd build
     - cmake --build . -- -j4
     - set -o pipefail
-    - ctest -j4 -VV | gzip -v -9 > test.log.gz 
+    - ctest -j4 -VV | gzip -v -9 > test.log.gz
   rules:
     - if: '$CI_MERGE_REQUEST_ID && $CI_MERGE_REQUEST_TITLE =~ /^Draft:/'
       allow_failure: false
@@ -249,7 +249,7 @@ test-clang-8:
         - ${CI_PROJECT_DIR}/build/test_outputs/junit*.xml
     paths:
       - ${CI_PROJECT_DIR}/build/test.log.gz
-  cache: 
+  cache:
     paths:
       - ${CI_PROJECT_DIR}/build/
       - ${CI_PROJECT_DIR}/Data/
@@ -266,7 +266,7 @@ build_test-u-18_04:
     key: "${CI_COMMIT_REF_SLUG}-gcc"
 
 # build_test for clang
-build_test-clang-8: 
+build_test-clang-8:
   extends: .build_test
   image: corsika/devel:clang-8
   dependencies:
@@ -302,7 +302,7 @@ build_test-clang-8:
     expire_in: 3 days
     paths:
       - ${CI_PROJECT_DIR}/build/examples.log.gz
-  cache: 
+  cache:
     paths:
       - ${CI_PROJECT_DIR}/build/
       - ${CI_PROJECT_DIR}/Data/
@@ -310,7 +310,7 @@ build_test-clang-8:
     policy: pull
 
 # example for gcc
-example-u-18_04: 
+example-u-18_04:
   extends: .example
   image: corsika/devel:u-18.04
   dependencies:
@@ -362,7 +362,7 @@ example-clang-8:
     paths:
       - ${CI_PROJECT_DIR}/build/examples.log.gz
       - ${CI_PROJECT_DIR}/build/test.log.gz
-  cache: 
+  cache:
     paths:
       - ${CI_PROJECT_DIR}/build/
       - ${CI_PROJECT_DIR}/Data/
@@ -370,7 +370,7 @@ example-clang-8:
     policy: pull
 
 # build_test_example for gcc
-build_test_example-u-18_04: 
+build_test_example-u-18_04:
   extends: .build_test_example
   image: corsika/devel:u-18.04
   dependencies:
@@ -412,7 +412,7 @@ build_test_example-clang-8:
     - if: $CI_COMMIT_BRANCH
       when: manual
   allow_failure: true
-  cache: 
+  cache:
     paths:
       - ${CI_PROJECT_DIR}/build/
       - ${CI_PROJECT_DIR}/Data/
@@ -420,7 +420,7 @@ build_test_example-clang-8:
     policy: pull
 
 # install for gcc
-install-u-18_04: 
+install-u-18_04:
   extends: .install
   image: corsika/devel:u-18.04
   dependencies:
@@ -454,7 +454,7 @@ install-clang-8:
     - cmake .. -DCMAKE_BUILD_TYPE=Release
     - cmake --build . -- -j4
     - set -o pipefail
-    - ctest -j4 -VV | gzip -v -9 > test.log.gz 
+    - ctest -j4 -VV | gzip -v -9 > test.log.gz
     - make -j4 run_examples | gzip -v -9 > examples.log.gz
   rules:
     - if: '$CI_MERGE_REQUEST_LABELS =~ /Ready for code review/' # run on merge requests, if label 'Ready for code review' is set
@@ -467,7 +467,7 @@ install-clang-8:
     - if: $CI_COMMIT_TAG
       when: manual
       allow_failure: true
-  cache: 
+  cache:
     paths:
       - ${CI_PROJECT_DIR}/build/
       - ${CI_PROJECT_DIR}/Data/
@@ -493,7 +493,7 @@ release-full-u-18_04:
     key: "${CI_COMMIT_REF_SLUG}-gcc"
 
 # release for clang
-release-full-clang-8: 
+release-full-clang-8:
   extends: .release
   image: corsika/devel:clang-8
   dependencies:
@@ -518,7 +518,7 @@ coverage:
     - cd build
     - cmake .. -DCMAKE_BUILD_TYPE=Coverage
     - cmake --build . -- -j4
-    - ctest -j4 -VV | gzip -v -9 > test.log.gz 
+    - ctest -j4 -VV | gzip -v -9 > test.log.gz
     - cmake --build . --target coverage
     - tar czf coverage-report.tar.gz coverage-report
   coverage: '/^.*functions\.+:\s(.*\%)\s/'
@@ -537,7 +537,7 @@ coverage:
     paths:
       - ${CI_PROJECT_DIR}/build/test.log.gz
       - ${CI_PROJECT_DIR}/build/coverage-report.tar.gz
-  cache: 
+  cache:
     paths:
       - ${CI_PROJECT_DIR}/build/
       - ${CI_PROJECT_DIR}/Data/
@@ -577,7 +577,7 @@ documentation:
     expire_in: 3 weeks
     paths:
       - ${CI_PROJECT_DIR}/public
-  cache: 
+  cache:
     paths:
       - ${CI_PROJECT_DIR}/build/
       - ${CI_PROJECT_DIR}/Data/
@@ -610,7 +610,7 @@ sanity:
     - if: $CI_COMMIT_TAG
       when: manual
       allow_failure: true
-  cache: 
+  cache:
     paths:
       - ${CI_PROJECT_DIR}/build/
       - ${CI_PROJECT_DIR}/Data/
diff --git a/Documentation/Examples/cascade_example.cc b/Documentation/Examples/cascade_example.cc
index 92c52b3a2..03ebe5e69 100644
--- a/Documentation/Examples/cascade_example.cc
+++ b/Documentation/Examples/cascade_example.cc
@@ -162,5 +162,5 @@ int main() {
        << "relative difference (%): " << (Efinal / E0 - 1) * 100 << endl;
   cout << "total dEdX energy (GeV): " << eLoss.GetTotal() / 1_GeV << endl
        << "relative difference (%): " << eLoss.GetTotal() / E0 * 100 << endl;
-  cut.Reset();  
+  cut.Reset();
 }
diff --git a/Documentation/Examples/em_shower.cc b/Documentation/Examples/em_shower.cc
index 32180ffc5..5840bc597 100644
--- a/Documentation/Examples/em_shower.cc
+++ b/Documentation/Examples/em_shower.cc
@@ -159,15 +159,16 @@ int main(int argc, char** argv) {
   cut.ShowResults();
   em_continuous.ShowResults();
   observationLevel.ShowResults();
-  cout << "Cascade energy cut: " << EAS.GetEnergyCut()/1_GeV << " GeV" << endl;
-  const HEPEnergyType Efinal =
-    cut.GetCutEnergy() + cut.GetInvEnergy() + cut.GetEmEnergy() + em_continuous.GetEnergyLost() + observationLevel.GetEnergyGround() + EAS.GetEnergyCut();
+  cout << "Cascade energy cut: " << EAS.GetEnergyCut() / 1_GeV << " GeV" << endl;
+  const HEPEnergyType Efinal = cut.GetCutEnergy() + cut.GetInvEnergy() +
+                               cut.GetEmEnergy() + em_continuous.GetEnergyLost() +
+                               observationLevel.GetEnergyGround() + EAS.GetEnergyCut();
   cout << "total cut energy (GeV): " << Efinal / 1_GeV << endl
        << "relative difference (%): " << (Efinal / E0 - 1) * 100 << endl;
   observationLevel.Reset();
   cut.Reset();
   em_continuous.Reset();
-  
+
   auto const hists = proposalCounted.GetHistogram();
   hists.saveLab("inthist_lab.txt");
   hists.saveCMS("inthist_cms.txt");
diff --git a/Documentation/Examples/vertical_EAS.cc b/Documentation/Examples/vertical_EAS.cc
index 8b3b8fbc4..9e833adde 100644
--- a/Documentation/Examples/vertical_EAS.cc
+++ b/Documentation/Examples/vertical_EAS.cc
@@ -22,12 +22,12 @@
 #include <corsika/process/observation_plane/ObservationPlane.h>
 #include <corsika/process/on_shell_check/OnShellCheck.h>
 #include <corsika/process/particle_cut/ParticleCut.h>
+#include <corsika/process/proposal/ContinuousProcess.h>
+#include <corsika/process/proposal/Interaction.h>
 #include <corsika/process/pythia/Decay.h>
 #include <corsika/process/sibyll/Decay.h>
 #include <corsika/process/sibyll/Interaction.h>
 #include <corsika/process/sibyll/NuclearInteraction.h>
-#include <corsika/process/proposal/ContinuousProcess.h>
-#include <corsika/process/proposal/Interaction.h>
 #include <corsika/process/switch_process/SwitchProcess.h>
 #include <corsika/process/tracking_line/TrackingLine.h>
 #include <corsika/process/urqmd/UrQMD.h>
@@ -207,8 +207,8 @@ int main(int argc, char** argv) {
                                                        55_GeV);
   auto decaySequence = decayPythia << decaySibyll;
 
-  auto sequence = switchProcess << reset_particle_mass << decaySequence << proposalCounted << em_continuous
-				<< cut << longprof << observationLevel;
+  auto sequence = switchProcess << reset_particle_mass << decaySequence << proposalCounted
+                                << em_continuous << cut << longprof << observationLevel;
 
   // define air shower object, run simulation
   tracking_line::TrackingLine tracking;
@@ -220,13 +220,13 @@ int main(int argc, char** argv) {
 
   EAS.Run();
 
-
   cut.ShowResults();
   em_continuous.ShowResults();
   observationLevel.ShowResults();
-  cout << "Cascade energy cut: " << EAS.GetEnergyCut()/1_GeV << " GeV" << endl;
-  const HEPEnergyType Efinal =
-    cut.GetCutEnergy() + cut.GetInvEnergy() + cut.GetEmEnergy() + em_continuous.GetEnergyLost() + observationLevel.GetEnergyGround() + EAS.GetEnergyCut();
+  cout << "Cascade energy cut: " << EAS.GetEnergyCut() / 1_GeV << " GeV" << endl;
+  const HEPEnergyType Efinal = cut.GetCutEnergy() + cut.GetInvEnergy() +
+                               cut.GetEmEnergy() + em_continuous.GetEnergyLost() +
+                               observationLevel.GetEnergyGround() + EAS.GetEnergyCut();
   cout << "total cut energy (GeV): " << Efinal / 1_GeV << endl
        << "relative difference (%): " << (Efinal / E0 - 1) * 100 << endl;
   observationLevel.Reset();
@@ -234,7 +234,7 @@ int main(int argc, char** argv) {
   em_continuous.Reset();
 
   auto const hists = sibyllCounted.GetHistogram() + sibyllNucCounted.GetHistogram() +
-    urqmdCounted.GetHistogram() + proposalCounted.GetHistogram();
+                     urqmdCounted.GetHistogram() + proposalCounted.GetHistogram();
 
   hists.saveLab("inthist_lab.txt");
   hists.saveCMS("inthist_cms.txt");
diff --git a/Environment/NuclearComposition.h b/Environment/NuclearComposition.h
index 227d9fe50..42b1beca0 100644
--- a/Environment/NuclearComposition.h
+++ b/Environment/NuclearComposition.h
@@ -18,8 +18,6 @@
 #include <stdexcept>
 #include <vector>
 
-
-    
 namespace corsika::environment {
   class NuclearComposition {
     std::vector<float> const fNumberFractions; //!< relative fractions of number density
@@ -29,7 +27,7 @@ namespace corsika::environment {
     double const fAvgMassNumber;
 
     std::size_t hash_;
-    
+
     template <class AConstIterator, class BConstIterator>
     class WeightProviderIterator {
       AConstIterator fAIter;
@@ -134,21 +132,17 @@ namespace corsika::environment {
     // Note: when this class ever modifies its internal data, the hash
     // must be updated, too!
     size_t hash() const { return hash_; }
-    
+
   private:
     void updateHash() {
       std::vector<std::size_t> hashes;
-      for (float ifrac : GetFractions())
-	hashes.push_back(std::hash<float>{}(ifrac));
+      for (float ifrac : GetFractions()) hashes.push_back(std::hash<float>{}(ifrac));
       for (corsika::particles::Code icode : GetComponents())
-	hashes.push_back(std::hash<int>{}(static_cast<int>(icode)));
+        hashes.push_back(std::hash<int>{}(static_cast<int>(icode)));
       std::size_t h = std::hash<double>{}(GetAverageMassNumber());
-      for (std::size_t ih : hashes)
-	h = h ^ (ih<<1);
+      for (std::size_t ih : hashes) h = h ^ (ih << 1);
       hash_ = h;
     }
-
   };
 
 } // namespace corsika::environment
-
diff --git a/Framework/Cascade/Cascade.h b/Framework/Cascade/Cascade.h
index 54e62947f..653dc62ff 100644
--- a/Framework/Cascade/Cascade.h
+++ b/Framework/Cascade/Cascade.h
@@ -87,8 +87,8 @@ namespace corsika::cascade {
         , fStack(stack)
         , energy_cut_(0 * corsika::units::si::electronvolt) {}
 
-    corsika::units::si::HEPEnergyType GetEnergyCut() const {  return energy_cut_; }
-    
+    corsika::units::si::HEPEnergyType GetEnergyCut() const { return energy_cut_; }
+
     /**
      * set the nodes for all particles on the stack according to their numerical
      * position
@@ -213,11 +213,11 @@ namespace corsika::cascade {
 
       // apply all continuous processes on particle + track
       process::EProcessReturn status = fProcessSequence.DoContinuous(vParticle, step);
-      
+
       if (status == process::EProcessReturn::eParticleAbsorbed) {
         std::cout << "Cascade: delete absorbed particle " << vParticle.GetPID() << " "
                   << vParticle.GetEnergy() / 1_GeV << "GeV" << std::endl;
-	energy_cut_ += vParticle.GetEnergy();
+        energy_cut_ += vParticle.GetEnergy();
         vParticle.Delete();
         return;
       }
@@ -334,10 +334,10 @@ namespace corsika::cascade {
     TProcessList& fProcessSequence;
     TStack& fStack;
     corsika::random::RNG& fRNG =
-    corsika::random::RNGManager::GetInstance().GetRandomStream("cascade");
-    
+        corsika::random::RNGManager::GetInstance().GetRandomStream("cascade");
+
     corsika::units::si::HEPEnergyType energy_cut_;
-    
+
   }; // namespace corsika::cascade
 
 } // namespace corsika::cascade
diff --git a/Framework/ProcessSequence/testProcessSequence.cc b/Framework/ProcessSequence/testProcessSequence.cc
index e10d82e59..0b2855f4e 100644
--- a/Framework/ProcessSequence/testProcessSequence.cc
+++ b/Framework/ProcessSequence/testProcessSequence.cc
@@ -145,11 +145,9 @@ public:
 };
 
 class Decay1 : public DecayProcess<Decay1> {
-  int fV = 0;
 
 public:
-  Decay1(const int v)
-      : fV(v) {
+  Decay1(const int v) {
     cout << "Decay1()" << endl;
     globalCount++;
   }
diff --git a/Processes/EnergyLoss/EnergyLoss.cc b/Processes/EnergyLoss/EnergyLoss.cc
index 62790e9f5..69dcd7877 100644
--- a/Processes/EnergyLoss/EnergyLoss.cc
+++ b/Processes/EnergyLoss/EnergyLoss.cc
@@ -31,7 +31,7 @@ using SetupTrack = corsika::setup::Trajectory;
 using namespace corsika::process::energy_loss;
 
 EnergyLoss::EnergyLoss(environment::ShowerAxis const& shower_axis,
-		       corsika::units::si::HEPEnergyType emCut)
+                       corsika::units::si::HEPEnergyType emCut)
     : shower_axis_(shower_axis)
     , emCut_(emCut)
     , profile_(int(shower_axis.maximumX() / dX_) + 1) {}
@@ -178,7 +178,7 @@ process::EProcessReturn EnergyLoss::DoContinuous(SetupParticle& p, SetupTrack co
        << " E=" << E / 1_GeV << "GeV,  Ekin=" << Ekin / 1_GeV << ", Enew=" << Enew / 1_GeV
        << "GeV" << endl;
   auto status = process::EProcessReturn::eOk;
-  if (E<emCut_) {
+  if (E < emCut_) {
     Enew = emCut_;
     status = process::EProcessReturn::eParticleAbsorbed;
   }
@@ -195,7 +195,7 @@ LengthType EnergyLoss::MaxStepLength(SetupParticle const& vParticle,
   }
 
   auto constexpr dX = 1_g / square(1_cm);
-  auto const dEdX = - TotalEnergyLoss(vParticle, dX) / dX; // dE > 0
+  auto const dEdX = -TotalEnergyLoss(vParticle, dX) / dX; // dE > 0
   //~ auto const Ekin = vParticle.GetEnergy() - vParticle.GetMass();
 
   // in any case: never go below 0.99*emCut_ This needs to be
@@ -207,8 +207,8 @@ LengthType EnergyLoss::MaxStepLength(SetupParticle const& vParticle,
   // afterwards.
   //
   const auto energy = vParticle.GetEnergy();
-  auto energy_lim = std::max(0.9*energy, 0.99*emCut_);
-  
+  auto energy_lim = std::max(0.9 * energy, 0.99 * emCut_);
+
   auto const maxGrammage = (energy - energy_lim) / dEdX;
 
   return vParticle.GetNode()->GetModelProperties().ArclengthFromGrammage(vTrack,
diff --git a/Processes/EnergyLoss/EnergyLoss.h b/Processes/EnergyLoss/EnergyLoss.h
index 2e3465035..89d20bf05 100644
--- a/Processes/EnergyLoss/EnergyLoss.h
+++ b/Processes/EnergyLoss/EnergyLoss.h
@@ -27,9 +27,10 @@ namespace corsika::process::energy_loss {
                              units::si::square(1e-2 * units::si::meter));
 
     void MomentumUpdate(setup::Stack::ParticleType&, units::si::HEPEnergyType Enew);
-    
+
   public:
-    EnergyLoss(environment::ShowerAxis const& showerAxis, corsika::units::si::HEPEnergyType emCut);
+    EnergyLoss(environment::ShowerAxis const& showerAxis,
+               corsika::units::si::HEPEnergyType emCut);
 
     process::EProcessReturn DoContinuous(setup::Stack::ParticleType&,
                                          setup::Trajectory const&);
@@ -52,7 +53,7 @@ namespace corsika::process::energy_loss {
       return 10_g / square(1_cm);
     }); // profile binning
 
-  private:    
+  private:
     environment::ShowerAxis const& shower_axis_;
     corsika::units::si::HEPEnergyType emCut_;
     std::vector<units::si::HEPEnergyType> profile_; // longitudinal profile
diff --git a/Processes/ObservationPlane/ObservationPlane.cc b/Processes/ObservationPlane/ObservationPlane.cc
index ce2a20b7d..cb7ee95bd 100644
--- a/Processes/ObservationPlane/ObservationPlane.cc
+++ b/Processes/ObservationPlane/ObservationPlane.cc
@@ -67,10 +67,10 @@ LengthType ObservationPlane::MaxStepLength(setup::Stack::ParticleType const&,
 
 void ObservationPlane::ShowResults() const {
   std::cout << " ******************************" << std::endl
-       << " ObservationPlane: " << std::endl;
+            << " ObservationPlane: " << std::endl;
   std::cout << " energy in ground (GeV)     :  " << energy_ground_ / 1_GeV << std::endl
-       << " no. of particles in ground :  " << count_ground_ << std::endl
-       << " ******************************" << std::endl;
+            << " no. of particles in ground :  " << count_ground_ << std::endl
+            << " ******************************" << std::endl;
 }
 
 void ObservationPlane::Reset() {
diff --git a/Processes/ObservationPlane/ObservationPlane.h b/Processes/ObservationPlane/ObservationPlane.h
index 96d2e77d4..7223defb1 100644
--- a/Processes/ObservationPlane/ObservationPlane.h
+++ b/Processes/ObservationPlane/ObservationPlane.h
@@ -39,7 +39,7 @@ namespace corsika::process::observation_plane {
     void ShowResults() const;
     void Reset();
     corsika::units::si::HEPEnergyType GetEnergyGround() const { return energy_ground_; }
-    
+
   private:
     geometry::Plane const plane_;
     std::ofstream outputStream_;
diff --git a/Processes/ParticleCut/ParticleCut.cc b/Processes/ParticleCut/ParticleCut.cc
index 3fa22d9f7..5bf4e6410 100644
--- a/Processes/ParticleCut/ParticleCut.cc
+++ b/Processes/ParticleCut/ParticleCut.cc
@@ -123,9 +123,11 @@ namespace corsika::process {
       C8LOG_INFO(fmt::format(
           " ******************************\n"
           " ParticleCut: \n"
-          " energy in em.  component (GeV):  {}\n"
+          if (bCutEm)
+              " energy in em.  component (GeV):  {}\n"
           " no. of em.  particles injected:  {}\n"
-          " energy in inv. component (GeV):  {}\n"
+          if (bCutInv)
+              " energy in inv. component (GeV):  {}\n"
           " no. of inv. particles injected:  {}\n"
           " energy below particle cut (GeV): {}\n"
           " ******************************",
diff --git a/Processes/Proposal/ContinuousProcess.cc b/Processes/Proposal/ContinuousProcess.cc
index ef1216788..fbc5dba47 100644
--- a/Processes/Proposal/ContinuousProcess.cc
+++ b/Processes/Proposal/ContinuousProcess.cc
@@ -36,7 +36,8 @@ namespace corsika::process::proposal {
     // saved in the calc map by a key build out of a hash of composed of the component and
     // particle code.
     auto disp = PROPOSAL::make_displacement(c, true);
-    auto scatter = PROPOSAL::make_scattering("highland", particle[code], media.at(comp.hash()));
+    auto scatter =
+        PROPOSAL::make_scattering("highland", particle[code], media.at(comp.hash()));
     calc[std::make_pair(comp.hash(), code)] =
         std::make_tuple(std::move(disp), std::move(scatter));
   }
@@ -80,8 +81,7 @@ namespace corsika::process::proposal {
     // scattering
     auto vec = corsika::geometry::QuantityVector(
         final_dir.GetX() * E_f, final_dir.GetY() * E_f, final_dir.GetZ() * E_f);
-    vP.SetMomentum(
-        corsika::stack::MomentumVector(vP_dir.GetCoordinateSystem(), vec));
+    vP.SetMomentum(corsika::stack::MomentumVector(vP_dir.GetCoordinateSystem(), vec));
   }
 
   template <>
diff --git a/Processes/Proposal/Interaction.cc b/Processes/Proposal/Interaction.cc
index 623556b90..064e146ea 100644
--- a/Processes/Proposal/Interaction.cc
+++ b/Processes/Proposal/Interaction.cc
@@ -36,15 +36,15 @@ namespace corsika::process::proposal {
     // interpolate the crosssection for given media and energy cut. These may
     // take some minutes if you have to build the tables and cannot read the
     // from disk
-    auto c = p_cross->second(media.at(&comp), emCut_);
+    auto c = p_cross->second(media.at(comp.hash()), emCut_);
 
     // Look which interactions take place and build the corresponding
     // interaction and secondarie builder. The interaction integral will
     // interpolated too and saved in the calc map by a key build out of a hash
     // of composed of the component and particle code.
     auto inter_types = PROPOSAL::CrossSectionVector::GetInteractionTypes(c);
-    calc[std::make_pair(&comp, code)] = std::make_tuple(
-        PROPOSAL::make_secondaries(inter_types, particle[code], media.at(&comp)),
+    calc[std::make_pair(comp.hash(), code)] = std::make_tuple(
+        PROPOSAL::make_secondaries(inter_types, particle[code], media.at(comp.hash())),
         PROPOSAL::make_interaction(c, true));
   }
 
@@ -67,7 +67,8 @@ namespace corsika::process::proposal {
 
       // Read how much random numbers are required to calculate the secondaries.
       // Calculate the secondaries and deploy them on the corsika stack.
-      auto rnd = vector<double>(get<eSECONDARIES>(c->second)->RequiredRandomNumbers(type));
+      auto rnd =
+          vector<double>(get<eSECONDARIES>(c->second)->RequiredRandomNumbers(type));
       for (auto& it : rnd) it = distr(fRNG);
       auto point = PROPOSAL::Vector3D(vP.GetPosition().GetX() / 1_cm,
                                       vP.GetPosition().GetY() / 1_cm,
@@ -78,8 +79,8 @@ namespace corsika::process::proposal {
                                           d.GetZ().magnitude());
       auto loss = make_tuple(static_cast<int>(type), point, direction,
                              v * vP.GetEnergy() / 1_MeV, 0.);
-      auto sec = get<eSECONDARIES>(c->second)->CalculateSecondaries(vP.GetEnergy() / 1_MeV,
-                                                                   loss, *comp_ptr, rnd);
+      auto sec = get<eSECONDARIES>(c->second)->CalculateSecondaries(
+          vP.GetEnergy() / 1_MeV, loss, *comp_ptr, rnd);
       for (auto& s : sec) {
         auto E = get<PROPOSAL::Loss::ENERGY>(s) * 1_MeV;
         auto vec = corsika::geometry::QuantityVector(
diff --git a/Processes/Proposal/ProposalProcessBase.cc b/Processes/Proposal/ProposalProcessBase.cc
index 3d1bd1e98..240c59d77 100644
--- a/Processes/Proposal/ProposalProcessBase.cc
+++ b/Processes/Proposal/ProposalProcessBase.cc
@@ -64,7 +64,7 @@ namespace corsika::process::proposal {
           "table directory. ");
     }
   }
-  
+
   size_t ProposalProcessBase::hash::operator()(const calc_key_t& p) const noexcept {
     return p.first ^ std::hash<particles::Code>{}(p.second);
   }
diff --git a/Processes/Proposal/ProposalProcessBase.h b/Processes/Proposal/ProposalProcessBase.h
index 82d833022..17c6b22d6 100644
--- a/Processes/Proposal/ProposalProcessBase.h
+++ b/Processes/Proposal/ProposalProcessBase.h
@@ -1,3 +1,11 @@
+/*
+ * (c) Copyright 2020 CORSIKA Project, corsika-project@lists.kit.edu
+ *
+ * This software is distributed under the terms of the GNU General Public
+ * Licence version 3 (GPL Version 3). See file LICENSE for a full version of
+ * the license.
+ */
+
 #pragma once
 
 #include <PROPOSAL/PROPOSAL.h>
diff --git a/do-clang-format.py b/do-clang-format.py
index 3b760eadb..b2a202064 100755
--- a/do-clang-format.py
+++ b/do-clang-format.py
@@ -49,7 +49,10 @@ else:
     filelist = [x for x in filelist
                 if "ThirdParty" not in x and (x.endswith(".h") or x.endswith(".cc"))]
 
-cmd = "clang-format -style=file"
+cmd = "clang-format"
+if "CLANG_FORMAT" in os.environ:
+  cmd = os.environ["CLANG_FORMAT"]
+cmd +=  " -style=file"
 if args.apply:
     for filename in filelist:
         subp.check_call(cmd.split() + ["-i", filename])
-- 
GitLab