47 #ifndef G4TWORKSPACEPOOL_HH
48 #define G4TWORKSPACEPOOL_HH
73 inline void Recycle( T * myWrkSpace );
101 G4Exception(
"G4TWorspacePool<someType>::CreateWorkspace",
103 "Failed to create workspace.");
112 G4Exception(
"ParticlesWorspacePool::CreateWorkspace",
114 "Cannot create workspace twice for the same thread.");
123 (this->CreateWorkspace())->UseWorkspace();
129 T* wrk= fMyWorkspace;
132 wrk= this->CreateWorkspace();
143 myWrkSpace->ReleaseWorkspace();
152 fMyWorkspace->DestroyWorkspace();
158 #endif // G4TWORKSPACEPOOL_HH
static G4ThreadLocal T * fMyWorkspace
T * FindOrCreateWorkspace()
void CreateAndUseWorkspace()
void Recycle(T *myWrkSpace)
void CleanUpAndDestroyAllWorkspaces()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)