Geant4-11
Data Structures | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
G4MoleculeHandleManager Class Reference

#include <G4MoleculeHandleManager.hh>

Data Structures

struct  CompMoleculePointer
 

Public Member Functions

G4MoleculeHandle GetMoleculeHandle (const G4Molecule *)
 
 ~G4MoleculeHandleManager ()
 

Static Public Member Functions

static void DeleteInstance ()
 
static G4MoleculeHandleManagerInstance ()
 

Private Types

typedef std::map< const G4Molecule *, G4MoleculeHandle, G4MoleculeHandleManager::CompMoleculePointerMoleculeHandleMap
 

Private Member Functions

 G4MoleculeHandleManager ()
 

Private Attributes

MoleculeHandleMap fMoleculeHandle
 

Static Private Attributes

static G4ThreadLocal G4MoleculeHandleManagerfInstance
 

Detailed Description

Definition at line 58 of file G4MoleculeHandleManager.hh.

Member Typedef Documentation

◆ MoleculeHandleMap

Definition at line 77 of file G4MoleculeHandleManager.hh.

Constructor & Destructor Documentation

◆ ~G4MoleculeHandleManager()

G4MoleculeHandleManager::~G4MoleculeHandleManager ( )

Definition at line 45 of file G4MoleculeHandleManager.cc.

46{
47 if (fMoleculeHandle.empty() == false)
48 {
49 MoleculeHandleMap::iterator it = fMoleculeHandle.begin();
50 for (; it != fMoleculeHandle.end(); it++)
51 {
52 it->second.reset();
53 }
54 }
55}

References fMoleculeHandle.

◆ G4MoleculeHandleManager()

G4MoleculeHandleManager::G4MoleculeHandleManager ( )
private

Definition at line 34 of file G4MoleculeHandleManager.cc.

35{
36 // G4cout << "G4MoleculeHandleManager::G4MoleculeHandleManager()" << G4endl;
37}

Referenced by Instance().

Member Function Documentation

◆ DeleteInstance()

void G4MoleculeHandleManager::DeleteInstance ( )
static

Definition at line 57 of file G4MoleculeHandleManager.cc.

58{
59 if (fInstance)
60 {
61 delete fInstance;
62 fInstance = 0;
63 }
64}
static G4ThreadLocal G4MoleculeHandleManager * fInstance

References fInstance.

◆ GetMoleculeHandle()

G4MoleculeHandle G4MoleculeHandleManager::GetMoleculeHandle ( const G4Molecule molecule)

Definition at line 75 of file G4MoleculeHandleManager.cc.

76{
77 MoleculeHandleMap::iterator it = fMoleculeHandle.find(molecule);
78 G4MoleculeHandle molHandle;
79
80 if (it != fMoleculeHandle.end())
81 {
82 molHandle = G4MoleculeHandle(it->second);
83 }
84 else
85 {
86 molHandle = G4MoleculeHandle(molecule);
87 fMoleculeHandle.insert(make_pair(molecule, G4MoleculeHandle(molHandle)));
88 }
89
90 return molHandle;
91}
G4shared_ptr< const G4Molecule > G4MoleculeHandle

References fMoleculeHandle.

◆ Instance()

G4MoleculeHandleManager * G4MoleculeHandleManager::Instance ( )
static

Definition at line 66 of file G4MoleculeHandleManager.cc.

67{
68 if (!fInstance)
69 {
71 }
72 return fInstance;
73}

References fInstance, and G4MoleculeHandleManager().

Field Documentation

◆ fInstance

G4ThreadLocal G4MoleculeHandleManager * G4MoleculeHandleManager::fInstance
staticprivate

Definition at line 69 of file G4MoleculeHandleManager.hh.

Referenced by DeleteInstance(), and Instance().

◆ fMoleculeHandle

MoleculeHandleMap G4MoleculeHandleManager::fMoleculeHandle
private

Definition at line 78 of file G4MoleculeHandleManager.hh.

Referenced by GetMoleculeHandle(), and ~G4MoleculeHandleManager().


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