G4ParticleDefinition classes are created as static objects
In G4UserParticleList::construct(), pointers to particle objects are used to ensure instantiation of these particle types G4ParticleList has the list of particle type
2. G4VUserDetectorConstruction::construct()
Materials are created at the stage of geometry construction