ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4GeomSplitter< T > Class Template Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/management/include/G4GeomSplitter.hh>

Public Member Functions

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

Static Public Attributes

static G4GEOM_DLL G4ThreadLocal T * offset = nullptr
 

Private Attributes

G4int totalobj
 
G4int totalspace
 
T * sharedOffset
 
G4Mutex mutex
 

Detailed Description

template<class T>
class G4GeomSplitter< T >

Definition at line 44 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 44 of file G4GeomSplitter.hh

Constructor & Destructor Documentation

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

Definition at line 48 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 48 of file G4GeomSplitter.hh

References G4MUTEXINIT.

Member Function Documentation

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

Definition at line 79 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 79 of file G4GeomSplitter.hh

References G4GeomSplitter< T >::offset, G4GeomSplitter< T >::sharedOffset, T, 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 60 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 60 of file G4GeomSplitter.hh

References FatalException, G4Exception(), G4GeomSplitter< T >::offset, G4GeomSplitter< T >::Reallocate(), 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 >::FreeSlave ( )
inline

Definition at line 138 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 138 of file G4GeomSplitter.hh

References G4GeomSplitter< T >::offset.

Referenced by G4VPhysicalVolume::Clean(), G4Region::Clean(), G4LogicalVolume::Clean(), G4SolidsWorkspace::DestroyWorkspace(), and G4GeometryWorkspace::DestroyWorkspace().

+ Here is the caller graph for this function:

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

Definition at line 162 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 162 of file G4GeomSplitter.hh

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

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

Definition at line 148 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 148 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 >
T* G4GeomSplitter< T >::Reallocate ( G4int  size)
inline

Definition at line 54 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 54 of file G4GeomSplitter.hh

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

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

+ Here is the caller graph for this function:

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

Definition at line 85 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 85 of file G4GeomSplitter.hh

References G4GeomSplitter< T >::CopyMasterContents(), FatalException, G4Exception(), G4GeomSplitter< T >::offset, G4GeomSplitter< T >::Reallocate(), G4GeomSplitter< T >::totalspace, and G4TemplateAutoLock< _Mutex_t >::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 101 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 101 of file G4GeomSplitter.hh

References FatalException, G4Exception(), G4GeomSplitter< T >::offset, G4GeomSplitter< T >::Reallocate(), 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 122 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 122 of file G4GeomSplitter.hh

References G4GeomSplitter< T >::CopyMasterContents(), G4Exception(), JustWarning, G4GeomSplitter< T >::offset, and G4GeomSplitter< T >::SlaveInitializeSubInstance().

+ Here is the call graph for this function:

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

Definition at line 150 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 150 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 180 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 180 of file G4GeomSplitter.hh

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

Definition at line 179 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 179 of file G4GeomSplitter.hh

Referenced by G4GeomSplitter< T >::CopyMasterContents(), and G4GeomSplitter< T >::CreateSubInstance().

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

Definition at line 177 of file G4GeomSplitter.hh.

View newest version in sPHENIX GitHub at line 177 of file G4GeomSplitter.hh

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


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