26 #ifndef G4PhysicsConstructorFactory_h
27 #define G4PhysicsConstructorFactory_h 1
60 #define G4_DECLARE_PHYSCONSTR_FACTORY(physics_constructor) \
61 const G4PhysicsConstructorFactory<physics_constructor>& physics_constructor##Factory = G4PhysicsConstructorFactory<physics_constructor>(#physics_constructor)
66 #define G4_DECLARE_PHYSCONSTR_FACTORY_NS( physics_constructor, nsname, pcbase ) \
68 const G4PhysicsConstructorFactory<physics_constructor>& pcbase##Factory = G4PhysicsConstructorFactory<physics_constructor>(#physics_constructor); \
70 typedef int xyzzy__LINE__
79 #define G4_REFERENCE_PHYSCONSTR_FACTORY(physics_constructor) \
80 class physics_constructor; \
81 extern const G4PhysicsConstructorFactory<physics_constructor>& physics_constructor##Factory; \
82 const G4PhysicsConstructorFactory<physics_constructor>& physics_constructor##FactoryRef = physics_constructor##Factory
84 #define G4_REFERENCE_PHYSCONSTR_FACTORY_NS( physics_constructor, nsname, pcbase ) \
87 extern const G4PhysicsConstructorFactory<physics_constructor>& pcbase##Factory; \
88 const G4PhysicsConstructorFactory<physics_constructor>& pcbase##FactoryRef = pcbase##Factory; \
90 typedef int xyzzy__LINE__
virtual G4VPhysicsConstructor * Instantiate()=0
virtual G4VPhysicsConstructor * Instantiate()
void AddFactory(G4String, G4VBasePhysConstrFactory *)
static G4PhysicsConstructorRegistry * Instance()
G4PhysicsConstructorFactory(const G4String &name)