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