diff --git a/DDG4/src/Geant4InputHandling.cpp b/DDG4/src/Geant4InputHandling.cpp index d88b46e2a7b28e7673b7bf294f55a8426972e3c4..e753b6eab36a639763422e70626a64f9d6e1171c 100644 --- a/DDG4/src/Geant4InputHandling.cpp +++ b/DDG4/src/Geant4InputHandling.cpp @@ -344,7 +344,8 @@ int dd4hep::sim::smearInteraction(const Geant4Action* caller, static G4PrimaryParticle* createG4Primary(const Geant4ParticleHandle p) { G4PrimaryParticle* g4 = 0; if ( 0 != p->pdgID ) { - g4 = new G4PrimaryParticle(p->pdgID, p->psx, p->psy, p->psz, p.energy()); + const int pdgID = p->pdgID < 1000000000 ? p->pdgID : (p->pdgID / 10) * 10; + g4 = new G4PrimaryParticle(pdgID, p->psx, p->psy, p->psz, p.energy()); } else { const G4ParticleDefinition* def = p.definition();