Geant4-11
|
#include <G4LogicalVolumeStore.hh>
Public Member Functions | |
G4LogicalVolumeStore (const G4LogicalVolumeStore &)=delete | |
const std::map< G4String, std::vector< G4LogicalVolume * > > & | GetMap () const |
G4LogicalVolume * | GetVolume (const G4String &name, G4bool verbose=true, G4bool reverseSearch=false) const |
G4bool | IsMapValid () const |
G4LogicalVolumeStore & | operator= (const G4LogicalVolumeStore &)=delete |
void | SetMapValid (G4bool val) |
void | UpdateMap () |
virtual | ~G4LogicalVolumeStore () |
Static Public Member Functions | |
static void | Clean () |
static void | DeRegister (G4LogicalVolume *pVolume) |
static G4LogicalVolumeStore * | GetInstance () |
static void | Register (G4LogicalVolume *pVolume) |
static void | SetNotifier (G4VStoreNotifier *pNotifier) |
Protected Member Functions | |
G4LogicalVolumeStore () | |
Private Attributes | |
std::map< G4String, std::vector< G4LogicalVolume * > > | bmap |
G4bool | mvalid = false |
Static Private Attributes | |
static G4LogicalVolumeStore * | fgInstance = nullptr |
static G4ThreadLocal G4VStoreNotifier * | fgNotifier = nullptr |
static G4ThreadLocal G4bool | locked = false |
Definition at line 55 of file G4LogicalVolumeStore.hh.
|
virtual |
Definition at line 65 of file G4LogicalVolumeStore.cc.
References G4LogicalVolume::Clean(), and Clean().
|
delete |
|
protected |
Definition at line 55 of file G4LogicalVolumeStore.cc.
|
static |
Definition at line 75 of file G4LogicalVolumeStore.cc.
References bmap, fgNotifier, G4cout, G4endl, GetInstance(), G4GeometryManager::IsGeometryClosed(), locked, mvalid, G4VNotifier::NotifyDeRegistration(), and pos.
Referenced by ExN03DetectorConstruction::ConstructCalorimeter(), DetectorConstruction::ConstructVolumes(), G4RunManager::ReinitializeGeometry(), and ~G4LogicalVolumeStore().
|
static |
Definition at line 181 of file G4LogicalVolumeStore.cc.
References bmap, fgNotifier, GetInstance(), G4LogicalVolume::GetName(), locked, and G4VNotifier::NotifyDeRegistration().
Referenced by G4LogicalVolume::~G4LogicalVolume().
|
static |
Definition at line 265 of file G4LogicalVolumeStore.cc.
References fgInstance.
Referenced by G4GeometryManager::BuildOptimisations(), G4RunManagerKernel::CheckRegularGeometry(), checkVol(), Clean(), G4VUserDetectorConstruction::CloneF(), G4VUserDetectorConstruction::CloneSD(), ExN03DetectorConstruction::ConstructCalorimeter(), DetectorConstruction::ConstructVolumes(), G4GeometryManager::DeleteOptimisations(), DeRegister(), G4RadioactiveDecay::DeselectAVolume(), G4ScoringCylinder::DumpLogVols(), G4Region::GetParentRegion(), G4GDMLReadStructure::GetVolume(), GetVolume(), G4GDMLParser::ImportRegions(), Register(), G4RunManager::ReinitializeGeometry(), G4RadioactiveDecay::SelectAllVolumes(), G4RadioactiveDecay::SelectAVolume(), G4VVisCommandGeometrySet::Set(), G4LogicalVolume::SetName(), G4GDMLMessenger::SetNewValue(), G4VisCommandGeometryList::SetNewValue(), G4VisCommandGeometryRestore::SetNewValue(), G4VisCommandSceneAddLogicalVolume::SetNewValue(), SetNotifier(), G4VUserDetectorConstruction::SetSensitiveDetector(), G4VUserParallelWorld::SetSensitiveDetector(), G4ScoringProbe::SetupGeometry(), G4ScoringRealWorld::SetupGeometry(), G4GDMLRead::StripNames(), G4WorkerThread::UpdateGeometryAndPhysicsVectorFromMaster(), and UpdateMap().
|
inline |
Definition at line 80 of file G4LogicalVolumeStore.hh.
References bmap.
Referenced by G4GDMLParser::ImportRegions(), G4VUserDetectorConstruction::SetSensitiveDetector(), and G4VUserParallelWorld::SetSensitiveDetector().
G4LogicalVolume * G4LogicalVolumeStore::GetVolume | ( | const G4String & | name, |
G4bool | verbose = true , |
||
G4bool | reverseSearch = false |
||
) | const |
Definition at line 223 of file G4LogicalVolumeStore.cc.
References bmap, G4endl, G4Exception(), GetInstance(), JustWarning, mvalid, G4InuclParticleNames::name(), pos, and UpdateMap().
Referenced by G4RadioactiveDecay::DeselectAVolume(), G4GDMLReadStructure::GetVolume(), G4RadioactiveDecay::SelectAVolume(), G4GDMLMessenger::SetNewValue(), G4VisCommandSceneAddLogicalVolume::SetNewValue(), and G4ScoringProbe::SetupGeometry().
|
inline |
|
delete |
|
static |
Definition at line 158 of file G4LogicalVolumeStore.cc.
References bmap, fgNotifier, GetInstance(), G4LogicalVolume::GetName(), mvalid, and G4VNotifier::NotifyRegistration().
Referenced by G4LogicalVolume::G4LogicalVolume().
|
inline |
Definition at line 77 of file G4LogicalVolumeStore.hh.
References mvalid.
Referenced by G4LogicalVolume::SetName().
|
static |
Definition at line 121 of file G4LogicalVolumeStore.cc.
References fgNotifier, and GetInstance().
void G4LogicalVolumeStore::UpdateMap | ( | ) |
Definition at line 131 of file G4LogicalVolumeStore.cc.
References bmap, GetInstance(), anonymous_namespace{G4LogicalVolumeStore.cc}::mapMutex, mvalid, pos, and G4TemplateAutoLock< _Mutex_t >::unlock().
Referenced by GetVolume(), and G4GDMLRead::StripNames().
|
private |
Definition at line 102 of file G4LogicalVolumeStore.hh.
Referenced by Clean(), DeRegister(), GetMap(), GetVolume(), Register(), and UpdateMap().
|
staticprivate |
Definition at line 98 of file G4LogicalVolumeStore.hh.
Referenced by GetInstance().
|
staticprivate |
Definition at line 99 of file G4LogicalVolumeStore.hh.
Referenced by Clean(), DeRegister(), Register(), and SetNotifier().
|
staticprivate |
Definition at line 100 of file G4LogicalVolumeStore.hh.
Referenced by Clean(), and DeRegister().
|
private |
Definition at line 103 of file G4LogicalVolumeStore.hh.
Referenced by Clean(), GetVolume(), IsMapValid(), Register(), SetMapValid(), and UpdateMap().