54 #ifndef G4PhysListFactorySingleton_h 55 #define G4PhysListFactorySingleton_h 1 57 #include "Geant4/G4VModularPhysicsList.hh" 58 #include "Geant4/globals.hh" 63 typedef G4VModularPhysicsList* (*PhysListCtorFuncPtr_t)();
174 #define PHYSLISTREG( _name ) \ 175 G4VModularPhysicsList* _name ## _ctor_function () { return new _name; } \ 176 static G4bool _name ## _creator_registered = \ 177 G4PhysListFactorySingleton::Instance().RegisterCreator(# _name, \ 178 & _name ## _ctor_function, \ 179 & _name ## _creator_registered ); 181 #define PHYSLISTREG3( _ns, _name, _fqname ) \ 183 G4VModularPhysicsList* _name ## _ctor_function () { return new _fqname; } \ 184 static G4bool _name ## _creator_registered = \ 185 G4PhysListFactorySingleton::Instance().RegisterCreator(# _fqname, \ 186 & _fqname ## _ctor_function, \ 187 & _fqname ## _creator_registered );} static G4PhysListFactorySingleton * fgTheInstance
void SetDefaultName(const G4String &defname)
std::map< G4String, PhysListCtorFuncPtr_t > fFunctionMap
std::map< G4String, G4String > fPhysicsReplaceList
void operator=(const G4PhysListFactorySingleton &)
G4String GetBaseName(G4String name, std::vector< G4String > &physicsReplacements, G4bool &allKnown)
const std::vector< G4String > & AvailablePhysLists() const
G4VModularPhysicsList *(* PhysListCtorFuncPtr_t)()
std::vector< G4String > listnames
G4bool RegisterPhysicsReplacement(G4String key, G4String physics)
G4PhysListFactorySingleton()
const G4String & GetDefaultName() const
virtual ~G4PhysListFactorySingleton()
G4bool IsReferencePhysList(const G4String &)
G4bool RegisterCreator(G4String name, PhysListCtorFuncPtr_t ctorptr, G4bool *ptr)
void PrintAvailablePhysLists() const
static G4PhysListFactorySingleton & Instance()
G4VModularPhysicsList * ReferencePhysList()
G4VModularPhysicsList * GetReferencePhysList(const G4String &)
std::map< G4String, G4bool * > fBoolPtrMap