Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4EmDataRegistry Class Reference

#include <G4EmDataRegistry.hh>

Public Member Functions

 ~G4EmDataRegistry ()
G4EmDataHandlerGetHandlerByName (const G4String &, std::size_t nTable)
void Register (G4EmDataHandler *)
void DeRegister (G4EmDataHandler *)
G4EmDataRegistryoperator= (const G4EmDataRegistry &right)=delete
 G4EmDataRegistry (const G4EmDataRegistry &)=delete

Static Public Member Functions

static G4EmDataRegistryInstance ()

Detailed Description

Definition at line 40 of file G4EmDataRegistry.hh.

Constructor & Destructor Documentation

◆ ~G4EmDataRegistry()

G4EmDataRegistry::~G4EmDataRegistry ( )

Definition at line 64 of file G4EmDataRegistry.cc.

65{
66 for (auto const & p : fDataHandlers) {
67 delete p;
68 }
69 fDataHandlers.clear();
70}

◆ G4EmDataRegistry()

G4EmDataRegistry::G4EmDataRegistry ( const G4EmDataRegistry & )
delete

Member Function Documentation

◆ DeRegister()

void G4EmDataRegistry::DeRegister ( G4EmDataHandler * ptr)

Definition at line 105 of file G4EmDataRegistry.cc.

106{
107 if (nullptr == ptr) { return; }
108 std::size_t n = fDataHandlers.size();
109 for (std::size_t i = 0; i < n; ++i) {
110 if (fDataHandlers[i] == ptr) {
111 fDataHandlers[i] = nullptr;
112 return;
113 }
114 }
115}

◆ GetHandlerByName()

G4EmDataHandler * G4EmDataRegistry::GetHandlerByName ( const G4String & nam,
std::size_t nTable )

Definition at line 75 of file G4EmDataRegistry.cc.

76{
77 // handler already exist
78 G4EmDataHandler* ptr = EmDataHandler(nam);
79 if (nullptr != ptr) { return ptr; }
80
81 // create a new handler
82 G4AutoLock l(&theEmData);
83 ptr = EmDataHandler(nam);
84 if (nullptr == ptr) {
85 ptr = new G4EmDataHandler(n, nam);
86 }
87 l.unlock();
88
89 return ptr;
90}
G4TemplateAutoLock< G4Mutex > G4AutoLock

◆ Instance()

G4EmDataRegistry * G4EmDataRegistry::Instance ( )
static

Definition at line 46 of file G4EmDataRegistry.cc.

47{
48 if (instance == nullptr) {
49 static G4EmDataRegistry manager;
50 instance = &manager;
51 }
52 return instance;
53}
G4EmDataRegistry(const G4EmDataRegistry &)=delete

Referenced by G4EmDataHandler::G4EmDataHandler().

◆ operator=()

G4EmDataRegistry & G4EmDataRegistry::operator= ( const G4EmDataRegistry & right)
delete

◆ Register()

void G4EmDataRegistry::Register ( G4EmDataHandler * ptr)

Definition at line 94 of file G4EmDataRegistry.cc.

95{
96 if (nullptr == ptr) { return; }
97 for (auto const & p : fDataHandlers) {
98 if (p == ptr) { return; }
99 }
100 fDataHandlers.push_back(ptr);
101}

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