Geant4  10.03
G4GeomSplitter< T > Class Template Reference

#include <G4GeomSplitter.hh>

Public Member Functions

 G4GeomSplitter ()
 
G4int CreateSubInstance ()
 
void CopyMasterContents ()
 
void SlaveCopySubInstanceArray ()
 
void SlaveInitializeSubInstance ()
 
void SlaveReCopySubInstanceArray ()
 
void FreeSlave ()
 
T * GetOffset ()
 
void UseWorkArea (T *newOffset)
 
T * FreeWorkArea ()
 
void Destroy ()
 

Static Public Attributes

static G4GEOM_DLL G4ThreadLocal T * offset = 0
 

Private Attributes

G4int totalobj
 
G4int totalspace
 
T * sharedOffset
 
G4Mutex mutex
 

Detailed Description

template<class T>
class G4GeomSplitter< T >

Definition at line 51 of file G4GeomSplitter.hh.

Constructor & Destructor Documentation

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

Definition at line 55 of file G4GeomSplitter.hh.

References G4MUTEXINIT.

Member Function Documentation

template<class T >
void G4GeomSplitter< T >::CopyMasterContents ( )
inline

Definition at line 81 of file G4GeomSplitter.hh.

References G4GeomSplitter< T >::offset, G4GeomSplitter< T >::sharedOffset, and G4GeomSplitter< T >::totalspace.

Referenced by G4GeomSplitter< T >::SlaveCopySubInstanceArray(), and G4GeomSplitter< T >::SlaveReCopySubInstanceArray().

+ Here is the caller graph for this function:

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

Definition at line 61 of file G4GeomSplitter.hh.

References FatalException, G4Exception(), G4GeomSplitter< T >::offset, G4GeomSplitter< T >::sharedOffset, G4GeomSplitter< T >::totalobj, and G4GeomSplitter< T >::totalspace.

Referenced by G4LogicalVolume::G4LogicalVolume(), G4PolyconeSide::G4PolyconeSide(), G4PolyhedraSide::G4PolyhedraSide(), G4PVReplica::G4PVReplica(), G4Region::G4Region(), and G4VPhysicalVolume::G4VPhysicalVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
void G4GeomSplitter< T >::Destroy ( void  )
inline

Definition at line 180 of file G4GeomSplitter.hh.

template<class T >
void G4GeomSplitter< T >::FreeSlave ( )
inline

Definition at line 141 of file G4GeomSplitter.hh.

References free, and G4GeomSplitter< T >::offset.

Referenced by G4SolidsWorkspace::DestroyWorkspace(), and G4GeometryWorkspace::DestroyWorkspace().

+ Here is the caller graph for this function:

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

Definition at line 168 of file G4GeomSplitter.hh.

References G4GeomSplitter< T >::offset.

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

Definition at line 152 of file G4GeomSplitter.hh.

References G4GeomSplitter< T >::offset.

Referenced by G4GeometryWorkspace::G4GeometryWorkspace(), and G4SolidsWorkspace::G4SolidsWorkspace().

+ Here is the caller graph for this function:

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

Definition at line 87 of file G4GeomSplitter.hh.

References G4GeomSplitter< T >::CopyMasterContents(), FatalException, G4Exception(), G4GeomSplitter< T >::offset, G4GeomSplitter< T >::totalspace, and G4TemplateAutoLock< M, L, U >::unlock().

Referenced by G4PVReplica::InitialiseWorker(), G4VPhysicalVolume::InitialiseWorker(), G4LogicalVolume::InitialiseWorker(), and G4GeometryWorkspace::InitialiseWorkspace().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
void G4GeomSplitter< T >::SlaveInitializeSubInstance ( )
inline

Definition at line 103 of file G4GeomSplitter.hh.

References FatalException, G4Exception(), G4GeomSplitter< T >::offset, and G4GeomSplitter< T >::totalspace.

Referenced by G4SolidsWorkspace::InitialiseWorkspace(), G4GeometryWorkspace::InitialiseWorkspace(), and G4GeomSplitter< T >::SlaveReCopySubInstanceArray().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
void G4GeomSplitter< T >::SlaveReCopySubInstanceArray ( )
inline

Definition at line 124 of file G4GeomSplitter.hh.

References G4GeomSplitter< T >::CopyMasterContents(), G4Exception(), JustWarning, G4GeomSplitter< T >::offset, G4GeomSplitter< T >::SlaveInitializeSubInstance(), and G4TemplateAutoLock< M, L, U >::unlock().

+ Here is the call graph for this function:

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

Definition at line 154 of file G4GeomSplitter.hh.

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

Referenced by G4SolidsWorkspace::ReleaseWorkspace(), G4GeometryWorkspace::ReleaseWorkspace(), G4SolidsWorkspace::UseWorkspace(), and G4GeometryWorkspace::UseWorkspace().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

template<class T >
G4Mutex G4GeomSplitter< T >::mutex
private

Definition at line 194 of file G4GeomSplitter.hh.

template<class T >
T* G4GeomSplitter< T >::sharedOffset
private
template<class T >
G4int G4GeomSplitter< T >::totalobj
private

Definition at line 191 of file G4GeomSplitter.hh.

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


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