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