Geant4  10.01.p02
G4VUPLSplitter< T > Class Template Reference

#include <G4VUPLSplitter.hh>

Public Member Functions

 G4VUPLSplitter ()
 
G4int CreateSubInstance ()
 
void NewSubInstances ()
 
void FreeWorker ()
 
T * GetOffset ()
 
void UseWorkArea (T *newOffset)
 
T * FreeWorkArea ()
 
void WorkerCopySubInstanceArray ()
 

Public Attributes

G4RUN_DLL G4ThreadLocalStatic G4int workertotalspace = 0
 
G4RUN_DLL G4ThreadLocalStatic T * offset = 0
 

Private Attributes

G4int totalobj
 
G4int totalspace
 
T * sharedOffset
 
G4Mutex mutex
 

Detailed Description

template<class T>
class G4VUPLSplitter< T >

Definition at line 72 of file G4VUPLSplitter.hh.

Constructor & Destructor Documentation

template<class T >
G4VUPLSplitter< T >::G4VUPLSplitter ( )
inline

Definition at line 76 of file G4VUPLSplitter.hh.

References G4MUTEXINIT, and G4VUPLSplitter< T >::mutex.

Member Function Documentation

template<class T >
G4int G4VUPLSplitter< T >::CreateSubInstance ( )
inline

Definition at line 80 of file G4VUPLSplitter.hh.

References G4TemplateAutoLock< M, L, U >::lock(), G4VUPLSplitter< T >::mutex, G4VUPLSplitter< T >::NewSubInstances(), G4VUPLSplitter< T >::offset, G4VUPLSplitter< T >::sharedOffset, G4VUPLSplitter< T >::totalobj, G4VUPLSplitter< T >::totalspace, G4TemplateAutoLock< M, L, U >::unlock(), and G4VUPLSplitter< T >::workertotalspace.

Referenced by G4VModularPhysicsList::G4VModularPhysicsList(), G4VPhysicsConstructor::G4VPhysicsConstructor(), G4VUserPhysicsList::G4VUserPhysicsList(), and G4VModularPhysicsList::operator=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
T* G4VUPLSplitter< T >::FreeWorkArea ( )
inline

Definition at line 161 of file G4VUPLSplitter.hh.

References G4VUPLSplitter< T >::offset.

template<class T >
void G4VUPLSplitter< T >::FreeWorker ( )
inline

Definition at line 128 of file G4VUPLSplitter.hh.

References G4VUPLSplitter< T >::offset.

Referenced by G4PhysicsListWorkspace::DestroyWorkspace().

+ Here is the caller graph for this function:

template<class T >
T* G4VUPLSplitter< T >::GetOffset ( )
inline

Definition at line 136 of file G4VUPLSplitter.hh.

References G4VUPLSplitter< T >::offset.

Referenced by G4PhysicsListWorkspace::G4PhysicsListWorkspace().

+ Here is the caller graph for this function:

template<class T >
void G4VUPLSplitter< T >::NewSubInstances ( )
inline

Definition at line 102 of file G4VUPLSplitter.hh.

References FatalException, G4Exception(), G4VUPLSplitter< T >::mutex, G4VUPLSplitter< T >::offset, G4VUPLSplitter< T >::totalobj, and G4VUPLSplitter< T >::workertotalspace.

Referenced by G4VUPLSplitter< T >::CreateSubInstance(), and G4PhysicsListWorkspace::InitialiseWorkspace().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
void G4VUPLSplitter< T >::UseWorkArea ( T *  newOffset)
inline

Definition at line 138 of file G4VUPLSplitter.hh.

References FatalException, G4Exception(), JustWarning, and G4VUPLSplitter< T >::offset.

Referenced by G4PhysicsListWorkspace::ReleaseWorkspace(), and G4PhysicsListWorkspace::UseWorkspace().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
void G4VUPLSplitter< T >::WorkerCopySubInstanceArray ( )
inline

Definition at line 173 of file G4VUPLSplitter.hh.

References FatalException, G4Exception(), G4VUPLSplitter< T >::mutex, G4VUPLSplitter< T >::offset, G4VUPLSplitter< T >::sharedOffset, and G4VUPLSplitter< T >::totalspace.

Referenced by G4PhysicsListWorkspace::InitialiseWorkspace().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

template<class T >
T* G4VUPLSplitter< T >::sharedOffset
private
template<class T >
G4int G4VUPLSplitter< T >::totalobj
private
template<class T >
G4int G4VUPLSplitter< T >::totalspace
private
template<class T >
G4ThreadLocal G4int G4VUPLSplitter< G4VUPLData >::workertotalspace = 0

The documentation for this class was generated from the following files: