Geant4-11
|
#include <G4AccumulableManager.hh>
Public Member Functions | |
std::vector< G4VAccumulable * >::iterator | Begin () |
std::vector< G4VAccumulable * >::const_iterator | BeginConst () const |
template<typename T > | |
G4Accumulable< T > * | CreateAccumulable (const G4String &name, T value, G4MergeMode mergeMode=G4MergeMode::kAddition) |
template<typename T > | |
G4Accumulable< T > * | CreateAccumulable (T value, G4MergeMode mergeMode=G4MergeMode::kAddition) |
std::vector< G4VAccumulable * >::iterator | End () |
std::vector< G4VAccumulable * >::const_iterator | EndConst () const |
template<typename T > | |
G4Accumulable< T > * | GetAccumulable (const G4String &name, G4bool warn=true) const |
G4VAccumulable * | GetAccumulable (const G4String &name, G4bool warn=true) const |
template<typename T > | |
G4Accumulable< T > * | GetAccumulable (G4int id, G4bool warn=true) const |
G4VAccumulable * | GetAccumulable (G4int id, G4bool warn=true) const |
G4int | GetNofAccumulables () const |
void | Merge () |
template<typename T > | |
G4bool | RegisterAccumulable (G4Accumulable< T > &accumulable) |
G4bool | RegisterAccumulable (G4VAccumulable *accumulable) |
void | Reset () |
virtual | ~G4AccumulableManager () |
Static Public Member Functions | |
static G4AccumulableManager * | Instance () |
Private Member Functions | |
G4bool | CheckName (const G4String &name, const G4String &where) const |
G4AccumulableManager () | |
G4String | GenerateName () const |
template<typename T > | |
G4Accumulable< T > * | GetAccumulable (G4VAccumulable *accumulable, G4bool warn) const |
Private Attributes | |
std::vector< G4VAccumulable * > | fAccumulablesToDelete |
std::map< G4String, G4VAccumulable * > | fMap |
std::vector< G4VAccumulable * > | fVector |
const G4String | kBaseName = "accumulable" |
Static Private Attributes | |
static G4AccumulableManager * | fgMasterInstance { nullptr } |
Friends | |
class | G4ThreadLocalSingleton< G4AccumulableManager > |
Definition at line 46 of file G4AccumulableManager.hh.
|
virtual |
Definition at line 55 of file G4AccumulableManager.cc.
References fAccumulablesToDelete.
|
private |
Definition at line 49 of file G4AccumulableManager.cc.
References fgMasterInstance, and G4Threading::IsWorkerThread().
std::vector< G4VAccumulable * >::iterator G4AccumulableManager::Begin | ( | ) |
std::vector< G4VAccumulable * >::const_iterator G4AccumulableManager::BeginConst | ( | ) | const |
|
private |
Definition at line 79 of file G4AccumulableManager.cc.
References fMap, G4endl, G4Exception(), JustWarning, and G4InuclParticleNames::name().
Referenced by RegisterAccumulable().
G4Accumulable< T > * G4AccumulableManager::CreateAccumulable | ( | const G4String & | name, |
T | value, | ||
G4MergeMode | mergeMode = G4MergeMode::kAddition |
||
) |
G4Accumulable< T > * G4AccumulableManager::CreateAccumulable | ( | T | value, |
G4MergeMode | mergeMode = G4MergeMode::kAddition |
||
) |
std::vector< G4VAccumulable * >::iterator G4AccumulableManager::End | ( | ) |
std::vector< G4VAccumulable * >::const_iterator G4AccumulableManager::EndConst | ( | ) | const |
|
private |
Definition at line 68 of file G4AccumulableManager.cc.
References fVector, kBaseName, and G4InuclParticleNames::name().
Referenced by RegisterAccumulable().
G4Accumulable< T > * G4AccumulableManager::GetAccumulable | ( | const G4String & | name, |
G4bool | warn = true |
||
) | const |
G4VAccumulable * G4AccumulableManager::GetAccumulable | ( | const G4String & | name, |
G4bool | warn = true |
||
) | const |
Definition at line 117 of file G4AccumulableManager.cc.
References fMap, G4Exception(), JustWarning, and G4InuclParticleNames::name().
G4Accumulable< T > * G4AccumulableManager::GetAccumulable | ( | G4int | id, |
G4bool | warn = true |
||
) | const |
G4VAccumulable * G4AccumulableManager::GetAccumulable | ( | G4int | id, |
G4bool | warn = true |
||
) | const |
Definition at line 136 of file G4AccumulableManager.cc.
References fVector, G4Exception(), and JustWarning.
|
private |
G4int G4AccumulableManager::GetNofAccumulables | ( | ) | const |
|
static |
Definition at line 42 of file G4AccumulableManager.cc.
References G4ThreadLocalSingleton< T >::Instance().
void G4AccumulableManager::Merge | ( | ) |
Definition at line 153 of file G4AccumulableManager.cc.
References fgMasterInstance, fVector, G4endl, G4Exception(), G4Threading::IsWorkerThread(), JustWarning, anonymous_namespace{G4AccumulableManager.cc}::mergeMutex, and G4TemplateAutoLock< _Mutex_t >::unlock().
G4bool G4AccumulableManager::RegisterAccumulable | ( | G4Accumulable< T > & | accumulable | ) |
G4bool G4AccumulableManager::RegisterAccumulable | ( | G4VAccumulable * | accumulable | ) |
Definition at line 97 of file G4AccumulableManager.cc.
References CheckName(), fMap, G4VAccumulable::fName, fVector, GenerateName(), G4VAccumulable::GetName(), and G4InuclParticleNames::name().
void G4AccumulableManager::Reset | ( | ) |
Definition at line 187 of file G4AccumulableManager.cc.
References fVector.
|
friend |
Definition at line 1 of file G4AccumulableManager.hh.
|
private |
Definition at line 127 of file G4AccumulableManager.hh.
Referenced by ~G4AccumulableManager().
|
inlinestaticprivate |
Definition at line 122 of file G4AccumulableManager.hh.
Referenced by G4AccumulableManager(), and Merge().
|
private |
Definition at line 126 of file G4AccumulableManager.hh.
Referenced by CheckName(), GetAccumulable(), and RegisterAccumulable().
|
private |
Definition at line 125 of file G4AccumulableManager.hh.
Referenced by GenerateName(), GetAccumulable(), Merge(), RegisterAccumulable(), and Reset().
|
private |
Definition at line 119 of file G4AccumulableManager.hh.
Referenced by GenerateName().