Problem 467

Summary: PDG Encoding
Product: Geant4 Reporter: tumakov
Component: particlesAssignee: kurasige
Status: RESOLVED INVALID    
Severity: normal    
Priority: P2    
Version: other   
Hardware: Other   
OS: Linux   

Description tumakov 2003-03-17 14:50:14 CET
I'm using geant4.5.0.p01.

These lines work perfect:
 G4ParticleDefinition * particleType = aTrack->GetDefinition();
  G4String particleName = particleType->GetParticleName();

I have correct particle name for any particle, but

 particleType->GetPDGEncoding()

gives correct particle code only for selected particles:
=11 for electron
=-11 for positron
=13 for mu-
=-13 for mu+
2212 for proton
probably correct codes for neutrinos.

For heavy particles (D,T,He3,alpha)  particleType->GetPDGEncoding()
returns zero.

The behavior is the same in my own simulation and
in examples lAr_calorimeter,underground_physics.

Do you have any idea what is wrong?

Best regards, Vladimir Tumakov
Comment 1 Makoto.Asai 2003-03-17 14:56:59 CET
PDG encoding convention does not cover nuclei.
Thus the return values for nuclei are zeros.
Note that zero is not used by PDG encoding convention.
By the same reason, artificial particles such as
geantino return zeros as well.