41 #ifndef G4GEOMSPLITTER_HH
42 #define G4GEOMSPLITTER_HH
56 : totalobj(0), totalspace(0), sharedOffset(0)
67 if (totalobj > totalspace)
69 totalspace=totalspace + 512;
78 return (totalobj - 1);
84 memcpy(
offset, sharedOffset, totalspace *
sizeof(T));
96 G4Exception(
"G4GeomSplitter::SlaveCopySubInstanceArray()",
114 G4Exception(
"G4GeomSplitter::SlaveInitializeSubInstance()",
118 for (
G4int i = 0 ; i < totalspace ; i++)
133 G4Exception(
"G4GeomSPlitter::SlaveReCopySubInstance()",
135 "Must be called after Initialisation or first Copy.");
161 "Thread already has workspace - cannot use another.");
void CopyMasterContents()
static G4GEOM_DLL G4ThreadLocal T * offset
#define G4MUTEXINIT(mutex)
G4int CreateSubInstance()
void SlaveCopySubInstanceArray()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void UseWorkArea(T *newOffset)
void SlaveInitializeSubInstance()
void SlaveReCopySubInstanceArray()