Geant4  10.00.p03
G4VUPLSplitter< T > Class Template Reference

#include <G4VUPLSplitter.hh>

Public Member Functions

 G4VUPLSplitter ()
 
G4int CreateSubInstance ()
 
void NewSubInstances ()
 
void FreeSlave ()
 
void SlaveCopySubInstanceArray ()
 

Public Attributes

G4RUN_DLL G4ThreadLocalStatic G4int slavetotalspace = 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 >::slavetotalspace, G4VUPLSplitter< T >::totalobj, G4VUPLSplitter< T >::totalspace, and G4TemplateAutoLock< M, L, U >::unlock().

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 >
void G4VUPLSplitter< T >::FreeSlave ( )
inline

Definition at line 128 of file G4VUPLSplitter.hh.

References free(), and G4VUPLSplitter< T >::offset.

+ Here is the call 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, realloc(), G4VUPLSplitter< T >::slavetotalspace, and G4VUPLSplitter< T >::totalobj.

Referenced by G4VUPLSplitter< T >::CreateSubInstance().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 136 of file G4VUPLSplitter.hh.

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

+ Here is the call graph for this function:

Member Data Documentation

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

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