Geant4  10.01.p03
G4PhysicalVolumeStore Class Reference

#include <G4PhysicalVolumeStore.hh>

+ Inheritance diagram for G4PhysicalVolumeStore:
+ Collaboration diagram for G4PhysicalVolumeStore:

Public Member Functions

G4VPhysicalVolumeGetVolume (const G4String &name, G4bool verbose=true) const
 
virtual ~G4PhysicalVolumeStore ()
 

Static Public Member Functions

static void Register (G4VPhysicalVolume *pSolid)
 
static void DeRegister (G4VPhysicalVolume *pSolid)
 
static G4PhysicalVolumeStoreGetInstance ()
 
static void SetNotifier (G4VStoreNotifier *pNotifier)
 
static void Clean ()
 

Protected Member Functions

 G4PhysicalVolumeStore ()
 

Static Private Attributes

static G4PhysicalVolumeStorefgInstance = 0
 
static G4ThreadLocal
G4VStoreNotifier
fgNotifier = 0
 
static G4ThreadLocal G4bool locked = false
 

Detailed Description

Definition at line 62 of file G4PhysicalVolumeStore.hh.

Constructor & Destructor Documentation

G4PhysicalVolumeStore::~G4PhysicalVolumeStore ( )
virtual

Definition at line 65 of file G4PhysicalVolumeStore.cc.

References Clean().

+ Here is the call graph for this function:

G4PhysicalVolumeStore::G4PhysicalVolumeStore ( )
protected

Definition at line 55 of file G4PhysicalVolumeStore.cc.

Member Function Documentation

void G4PhysicalVolumeStore::DeRegister ( G4VPhysicalVolume pSolid)
static

Definition at line 142 of file G4PhysicalVolumeStore.cc.

References fgNotifier, GetInstance(), G4VPhysicalVolume::GetMotherLogical(), locked, G4VNotifier::NotifyDeRegistration(), and G4LogicalVolume::RemoveDaughter().

Referenced by HadrontherapyDetectorROGeometry::UpdateROGeometry(), and G4VPhysicalVolume::~G4VPhysicalVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4PhysicalVolumeStore * G4PhysicalVolumeStore::GetInstance ( void  )
static

Definition at line 187 of file G4PhysicalVolumeStore.cc.

References fgInstance.

Referenced by G4AdjointCrossSurfChecker::AddanExtSurfaceOfAvolume(), G4AdjointCrossSurfChecker::AddaSphericalSurfaceWithCenterAtTheCenterOfAVolume(), HadrontherapyDetectorConstruction::CheckOverlaps(), Clean(), G4AdjointPosOnPhysVolGenerator::ComputeTransformationFromPhysVolToWorld(), DMXParticleSource::ConfineSourceToVolume(), G4SPSPosDistribution::ConfineSourceToVolume(), LXeDetectorConstruction::Construct(), F04DetectorConstruction::Construct(), WLSDetectorConstruction::Construct(), DetectorConstruction::ConstructCalorimeter(), F01DetectorConstruction::ConstructCalorimeter(), F02DetectorConstruction::ConstructCalorimeter(), ExN03DetectorConstruction::ConstructCalorimeter(), F03DetectorConstruction::ConstructCalorimeter(), Em10DetectorConstruction::ConstructDetectorXTR(), RMC01DetectorConstruction::ConstructSimpleGeometry(), DetectorConstruction::ConstructVolumes(), ElectronBenchmarkDetector::CreateGeometry(), G4AdjointPosOnPhysVolGenerator::DefinePhysicalVolume(), DetectorConstruction::DefineVolumes(), DeRegister(), G4GeometryWorkspace::DestroyWorkspace(), G4GlobalFastSimulationManager::DisplayRegion(), FFPrimaryGeneratorAction::GetNeutronSourceCenter(), DicomIntersectVolume::GetPhantomParam(), G4EnergySplitter::GetPhantomParam(), DicomIntersectVolume::GetPhysicalVolumes(), G4GDMLReadStructure::GetPhysvol(), G4tgbGeometryDumper::GetPVChildren(), G4tgbGeometryDumper::GetTopPhysVol(), GetVolume(), G4GeometryWorkspace::InitialisePhysicalVolumes(), CexmcSetup::ReadRightDetectors(), Register(), G4RunManager::ReinitializeGeometry(), SetNotifier(), G4RegionStore::SetWorldVolume(), G4GDMLRead::StripNames(), and HadrontherapyDetectorROGeometry::UpdateROGeometry().

+ Here is the caller graph for this function:

G4VPhysicalVolume * G4PhysicalVolumeStore::GetVolume ( const G4String name,
G4bool  verbose = true 
) const

Definition at line 165 of file G4PhysicalVolumeStore.cc.

References G4endl, G4Exception(), GetInstance(), JustWarning, and name.

Referenced by FFPrimaryGeneratorAction::GetNeutronSourceCenter(), G4GDMLReadStructure::GetPhysvol(), and HadrontherapyDetectorROGeometry::UpdateROGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PhysicalVolumeStore::Register ( G4VPhysicalVolume pSolid)
static

Definition at line 131 of file G4PhysicalVolumeStore.cc.

References fgNotifier, GetInstance(), and G4VNotifier::NotifyRegistration().

Referenced by G4VPhysicalVolume::G4VPhysicalVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PhysicalVolumeStore::SetNotifier ( G4VStoreNotifier pNotifier)
static

Definition at line 121 of file G4PhysicalVolumeStore.cc.

References fgNotifier, and GetInstance().

+ Here is the call graph for this function:

Member Data Documentation

G4PhysicalVolumeStore * G4PhysicalVolumeStore::fgInstance = 0
staticprivate

Definition at line 92 of file G4PhysicalVolumeStore.hh.

Referenced by GetInstance().

G4ThreadLocal G4VStoreNotifier * G4PhysicalVolumeStore::fgNotifier = 0
staticprivate

Definition at line 93 of file G4PhysicalVolumeStore.hh.

Referenced by Clean(), DeRegister(), Register(), and SetNotifier().

G4ThreadLocal G4bool G4PhysicalVolumeStore::locked = false
staticprivate

Definition at line 94 of file G4PhysicalVolumeStore.hh.

Referenced by Clean(), and DeRegister().


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