Does G4particledefinition share the memory when using G4 MT mode?

Hi all,
I have an std::map<G4ParticleDefinition *, G4long>. If I use multi thread mode of G4, Does each run use the same memory or G4ParticleDefinition* ?

Yes. The G4ParticleDefinition pointers are in a shared global table; each one is effectively a singleton shared across all threads. I’d encourage you to use const G4ParticleDefinition* in your map, just to be clear that the stored objects are not mutable.