diff --git a/Documentation/Examples/hybrid_MC.cc b/Documentation/Examples/hybrid_MC.cc
index 4edfa022ebb7a128ec94b5fea172ea596e62e718..c6647209bb13d4843020c2bce4d0354486f97753 100644
--- a/Documentation/Examples/hybrid_MC.cc
+++ b/Documentation/Examples/hybrid_MC.cc
@@ -208,7 +208,8 @@ int main(int argc, char** argv) {
   process::energy_loss::EnergyLoss eLoss{showerAxis, cut.GetECut()};
 
   corsika::process::conex_source_cut::CONEXSourceCut conex(
-      center, showerAxis, t, injectionHeight, E0, particles::Code::Proton);
+      center, showerAxis, t, injectionHeight, E0,
+      particles::GetPDG(particles::Code::Proton));
 
   process::on_shell_check::OnShellCheck reset_particle_mass(1.e-3, 1.e-1, false);
 
diff --git a/Processes/CONEXSourceCut/CONEXSourceCut.cc b/Processes/CONEXSourceCut/CONEXSourceCut.cc
index 1d3903e924e07aaf22888f3d972e83c0b7fb7b33..d6c6e7e282599d373725b82d817e583ba9f37354 100644
--- a/Processes/CONEXSourceCut/CONEXSourceCut.cc
+++ b/Processes/CONEXSourceCut/CONEXSourceCut.cc
@@ -191,7 +191,7 @@ CONEXSourceCut::CONEXSourceCut(geometry::Point center,
                                units::si::LengthType groundDist,
                                units::si::LengthType injectionHeight,
                                units::si::HEPEnergyType primaryEnergy,
-                               particles::Code primaryPID)
+                               particles::PDGCode primaryPDG)
     : center_{center}
     , showerAxis_{showerAxis}
     , groundDist_{groundDist}
@@ -283,7 +283,7 @@ CONEXSourceCut::CONEXSourceCut(geometry::Point center,
 
   std::cout << "theta (deg) = " << theta << "; phi (deg) = " << phi << std::endl;
 
-  int ipart = static_cast<int>(particles::GetPDG(primaryPID));
+  int ipart = static_cast<int>(primaryPDG);
   auto rng = corsika::random::RNGManager::GetInstance().GetRandomStream("cascade");
 
   double dimpact = 0.; // valid only if shower core is fixed on the observation plane; for
diff --git a/Processes/CONEXSourceCut/CONEXSourceCut.h b/Processes/CONEXSourceCut/CONEXSourceCut.h
index 5923cdbf066ea427c40be1dbdfd0ceb68ac0c46e..b8a714666ca49342f252fbb7061701d739db7be7 100644
--- a/Processes/CONEXSourceCut/CONEXSourceCut.h
+++ b/Processes/CONEXSourceCut/CONEXSourceCut.h
@@ -31,7 +31,7 @@ namespace corsika::process {
       CONEXSourceCut(geometry::Point center, environment::ShowerAxis const& showerAxis,
                      units::si::LengthType groundDist,
                      units::si::LengthType injectionHeight,
-                     units::si::HEPEnergyType primaryEnergy, particles::Code pid);
+                     units::si::HEPEnergyType primaryEnergy, particles::PDGCode pdg);
       corsika::process::EProcessReturn DoSecondaries(corsika::setup::StackView&);
 
       void SolveCE();
diff --git a/Processes/CONEXSourceCut/testCONEXSourceCut.cc b/Processes/CONEXSourceCut/testCONEXSourceCut.cc
index 5ee19f4bfd6ceb74400c5a939a84e3dfe7ca00f4..c6b0b556d50a79f013af6eb8f58c162e44bec194 100644
--- a/Processes/CONEXSourceCut/testCONEXSourceCut.cc
+++ b/Processes/CONEXSourceCut/testCONEXSourceCut.cc
@@ -90,7 +90,8 @@ TEST_CASE("CONEXSourceCut") {
   [[maybe_unused]] process::sibyll::NuclearInteraction sibyllNuc(sibyll, env);
 
   corsika::process::conex_source_cut::CONEXSourceCut conex(
-      center, showerAxis, t, injectionHeight, E0, particles::Code::Proton);
+      center, showerAxis, t, injectionHeight, E0,
+      particles::GetPDG(particles::Code::Proton));
 
   HEPEnergyType const Eem{1_PeV};
   auto const momentum = showerAxis.GetDirection() * Eem;