Geant4  10.00.p03
G4PDefSplitter< T > Class Template Reference

#include <G4PDefSplitter.hh>

Public Member Functions

 G4PDefSplitter ()
 
G4int CreateSubInstance ()
 
void NewSubInstances ()
 
void FreeSlave ()
 

Public Attributes

G4PART_DLL G4ThreadLocalStatic
G4int 
slavetotalspace = 0
 
G4PART_DLL G4ThreadLocalStatic T * offset = 0
 

Private Attributes

G4int totalobj
 
G4Mutex mutex
 

Detailed Description

template<class T>
class G4PDefSplitter< T >

Definition at line 53 of file G4PDefSplitter.hh.

Constructor & Destructor Documentation

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

Definition at line 57 of file G4PDefSplitter.hh.

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

Member Function Documentation

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

Definition at line 61 of file G4PDefSplitter.hh.

References G4TemplateAutoLock< M, L, U >::lock(), G4PDefSplitter< T >::mutex, G4PDefSplitter< T >::NewSubInstances(), G4PDefSplitter< T >::slavetotalspace, G4PDefSplitter< T >::totalobj, and G4TemplateAutoLock< M, L, U >::unlock().

Referenced by G4ParticleDefinition::SetParticleDefinitionID().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 99 of file G4PDefSplitter.hh.

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

+ Here is the call graph for this function:

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

Definition at line 76 of file G4PDefSplitter.hh.

References FatalException, G4Exception(), G4PDefSplitter< T >::mutex, G4PDefSplitter< T >::offset, realloc(), G4PDefSplitter< T >::slavetotalspace, and G4PDefSplitter< T >::totalobj.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

template<class T >
G4ThreadLocal G4PDefData * G4PDefSplitter< G4PDefData >::offset = 0
template<class T >
G4int G4PDefSplitter< T >::totalobj
private

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