26#ifndef G4PhysicsConstructorFactory_h
27#define G4PhysicsConstructorFactory_h 1
59#define G4_DECLARE_PHYSCONSTR_FACTORY(physics_constructor) \
60 const G4PhysicsConstructorFactory<physics_constructor>& physics_constructor##Factory = G4PhysicsConstructorFactory<physics_constructor>(#physics_constructor)
65#define G4_DECLARE_PHYSCONSTR_FACTORY_NS( physics_constructor, nsname, pcbase ) \
67 const G4PhysicsConstructorFactory<physics_constructor>& pcbase##Factory = G4PhysicsConstructorFactory<physics_constructor>(#physics_constructor); \
69 typedef int xyzzy__LINE__
83#define G4_REFERENCE_PHYSCONSTR_FACTORY(physics_constructor) \
84 class physics_constructor; \
85 extern const G4PhysicsConstructorFactory<physics_constructor>& physics_constructor##Factory; \
86 const G4PhysicsConstructorFactory<physics_constructor>& physics_constructor##FactoryRef##REGREF = physics_constructor##Factory
88#define G4_REFERENCE_PHYSCONSTR_FACTORY_NS( physics_constructor, nsname, pcbase ) \
91 extern const G4PhysicsConstructorFactory<physics_constructor>& pcbase##Factory; \
92 const G4PhysicsConstructorFactory<physics_constructor>& pcbase##FactoryRef##REGREF = pcbase##Factory; \
94 typedef int xyzzy__LINE__
G4PhysicsConstructorFactory(const G4String &name)
virtual G4VPhysicsConstructor * Instantiate()
void AddFactory(G4String, G4VBasePhysConstrFactory *)
static G4PhysicsConstructorRegistry * Instance()
virtual G4VPhysicsConstructor * Instantiate()=0