52#ifndef G4VUPLSplitter_hh
53#define G4VUPLSplitter_hh 1
91 return (totalobj - 1);
112 G4Exception(
"G4VUPLSplitter::NewSubInstances()",
"OutOfMemory",
141 G4Exception(
"G4VUPLSplitter::UseWorkspace()",
"TwoWorkspaces",
143 "Thread already has workspace - cannot use another.");
175 G4Exception(
"G4VUPLSplitter::WorkerCopySubInstanceArray()",
180 std::memcpy(
offset, sharedOffset, totalspace *
sizeof(T));
193 G4int totalspace = 0;
194 T* sharedOffset =
nullptr;
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
#define G4MUTEXINIT(mutex)
void WorkerCopySubInstanceArray()
G4RUN_DLL G4ThreadLocalStatic G4int workertotalspace
G4RUN_DLL G4ThreadLocalStatic T * offset
G4int CreateSubInstance()
void UseWorkArea(T *newOffset)
#define G4ThreadLocalStatic