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

#include <geant4/tree/geant4-10.6-release/source/global/management/include/G4ThreadLocalSingleton.hh>

+ Inheritance diagram for G4ThreadLocalSingleton< T >:
+ Collaboration diagram for G4ThreadLocalSingleton< T >:

Public Member Functions

 G4ThreadLocalSingleton ()
 
 ~G4ThreadLocalSingleton ()
 
TInstance () const
 

Private Member Functions

 G4ThreadLocalSingleton (G4ThreadLocalSingleton &rhs)
 
void Register (T *i) const
 
void Clear ()
 
- Private Member Functions inherited from G4Cache< T * >
 G4Cache ()
 
 G4Cache (const value_type &v)
 
 G4Cache (const G4Cache &rhs)
 
virtual ~G4Cache ()
 
value_typeGet () const
 
void Put (const value_type &val) const
 
value_type Pop ()
 
G4Cacheoperator= (const G4Cache &rhs)
 
const G4intGetId () const
 

Private Attributes

std::list< T * > instances
 
G4Mutex listm
 

Friends

void G4AutoDelete::Register (T *)
 

Additional Inherited Members

- Private Types inherited from G4Cache< T * >
typedef Tvalue_type
 

Detailed Description

template<class T>
class G4ThreadLocalSingleton< T >

Definition at line 107 of file G4ThreadLocalSingleton.hh.

View newest version in sPHENIX GitHub at line 107 of file G4ThreadLocalSingleton.hh

Constructor & Destructor Documentation

template<class T >
G4ThreadLocalSingleton< T >::G4ThreadLocalSingleton ( )

Definition at line 134 of file G4ThreadLocalSingleton.hh.

View newest version in sPHENIX GitHub at line 134 of file G4ThreadLocalSingleton.hh

References G4MUTEXINIT, G4ThreadLocalSingleton< T >::listm, and G4Cache< VALTYPE >::Put().

+ Here is the call graph for this function:

template<class T >
G4ThreadLocalSingleton< T >::~G4ThreadLocalSingleton ( )

Definition at line 140 of file G4ThreadLocalSingleton.hh.

View newest version in sPHENIX GitHub at line 140 of file G4ThreadLocalSingleton.hh

References JA::Clear(), and G4MUTEXDESTROY.

+ Here is the call graph for this function:

template<class T >
G4ThreadLocalSingleton< T >::G4ThreadLocalSingleton ( G4ThreadLocalSingleton< T > &  rhs)
private

Definition at line 157 of file G4ThreadLocalSingleton.hh.

View newest version in sPHENIX GitHub at line 157 of file G4ThreadLocalSingleton.hh

Member Function Documentation

template<class T >
void G4ThreadLocalSingleton< T >::Clear ( )
private

Definition at line 166 of file G4ThreadLocalSingleton.hh.

View newest version in sPHENIX GitHub at line 166 of file G4ThreadLocalSingleton.hh

References T.

template<class T >
T * G4ThreadLocalSingleton< T >::Instance ( void  ) const

Definition at line 146 of file G4ThreadLocalSingleton.hh.

View newest version in sPHENIX GitHub at line 146 of file G4ThreadLocalSingleton.hh

References G4Cache< VALTYPE >::Get(), instance, G4Cache< VALTYPE >::Put(), G4AutoDelete::Register(), and T.

Referenced by G4AdjointCSManager::GetAdjointCSManager(), G4ParticleHPThreadLocalManager::GetInstance(), G4NuclearPolarizationStore::GetInstance(), G4BiasingOperationManager::GetInstance(), G4PhysicsListHelper::GetPhysicsListHelper(), G4ProcessTable::GetProcessTable(), G4VelocityTable::GetVelocityTable(), G4HadronicInteractionRegistry::Instance(), G4RegularNavigationHelper::Instance(), G4CrossSectionDataSetRegistry::Instance(), G4HadronCrossSections::Instance(), G4HadronicProcessStore::Instance(), and G4LossTableManager::Instance().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
void G4ThreadLocalSingleton< T >::Register ( T i) const
private

Definition at line 159 of file G4ThreadLocalSingleton.hh.

View newest version in sPHENIX GitHub at line 159 of file G4ThreadLocalSingleton.hh

Referenced by G4AutoDelete::Register().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

template<class T>
void G4AutoDelete::Register ( T )
friend

Member Data Documentation

template<class T>
std::list<T*> G4ThreadLocalSingleton< T >::instances
mutableprivate

Definition at line 124 of file G4ThreadLocalSingleton.hh.

View newest version in sPHENIX GitHub at line 124 of file G4ThreadLocalSingleton.hh

template<class T>
G4Mutex G4ThreadLocalSingleton< T >::listm
mutableprivate

Definition at line 125 of file G4ThreadLocalSingleton.hh.

View newest version in sPHENIX GitHub at line 125 of file G4ThreadLocalSingleton.hh

Referenced by G4ThreadLocalSingleton< T >::G4ThreadLocalSingleton().


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