46 #ifndef G4PhysicsProcessFactorySingleton_h 47 #define G4PhysicsProcessFactorySingleton_h 1 49 #include "Geant4/G4VPhysicsConstructor.hh" 50 #include "Geant4/globals.hh" 55 typedef G4VPhysicsConstructor* (*PhysProcCtorFuncPtr_t)();
144 #define PHYSPROCREG( _name ) \ 145 G4VPhysicsConstructor* _name ## _ctor_function () { return new _name; } \ 146 static G4bool _name ## _creator_registered = \ 147 G4PhysicsProcessFactorySingleton::Instance().RegisterCreator(# _name, \ 148 & _name ## _ctor_function, \ 149 & _name ## _creator_registered ); 151 #define PHYSPROCREG3( _ns, _name, _fqname ) \ 153 G4VPhysicsConstructor* _name ## _ctor_function () { return new _fqname; } \ 154 static G4bool _name ## _creator_registered = \ 155 G4PhysicsProcessFactorySingleton::Instance().RegisterCreator(# _fqname, \ 156 & _fqname ## _ctor_function, \ 157 & _fqname ## _creator_registered );}
G4bool RegisterCreator(G4String name, PhysProcCtorFuncPtr_t ctorptr, G4bool *ptr)
std::map< G4String, G4bool * > fBoolPtrMap
const std::vector< G4String > & AvailablePhysicsProcesses() const
std::vector< G4String > listnames
static G4PhysicsProcessFactorySingleton & Instance()
std::map< G4String, PhysProcCtorFuncPtr_t > fFunctionMap
virtual ~G4PhysicsProcessFactorySingleton()
G4bool IsKnownPhysicsProcess(const G4String &)
G4PhysicsProcessFactorySingleton()
G4VPhysicsConstructor *(* PhysProcCtorFuncPtr_t)()
static G4PhysicsProcessFactorySingleton * fgTheInstance
G4VPhysicsConstructor * GetPhysicsProcess(const G4String &)
void operator=(const G4PhysicsProcessFactorySingleton &)
void PrintAvailablePhysicsProcesses() const