EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4PhysicalVolumeStore Class Reference

#include <east/blob/main/G4_Patches/G4.v11.0.p01/source/geometry/management/include/G4PhysicalVolumeStore.hh>

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

Public Member Functions

G4VPhysicalVolume * GetVolume (const G4String &name, G4bool verbose=true, G4bool reverseSearch=false) const
 
G4bool IsMapValid () const
 
void SetMapValid (G4bool val)
 
const std::map< G4String,
std::vector< G4VPhysicalVolume * > > & 
GetMap () const
 
void UpdateMap ()
 
virtual ~G4PhysicalVolumeStore ()
 
 G4PhysicalVolumeStore (const G4PhysicalVolumeStore &)=delete
 
G4PhysicalVolumeStoreoperator= (const G4PhysicalVolumeStore &)=delete
 

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 ()
 

Private Attributes

std::map< G4String,
std::vector< G4VPhysicalVolume * > > 
bmap
 
G4bool mvalid = false
 

Static Private Attributes

static G4PhysicalVolumeStorefgInstance = nullptr
 
static G4ThreadLocal
G4VStoreNotifier * 
fgNotifier = nullptr
 
static G4ThreadLocal G4bool locked = false
 

Additional Inherited Members

- Public Attributes inherited from std::vector< T >
T elements
 STL member.
 

Detailed Description

Definition at line 54 of file G4PhysicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 54 of file G4PhysicalVolumeStore.hh

Constructor & Destructor Documentation

G4PhysicalVolumeStore::~G4PhysicalVolumeStore ( )
virtual

Definition at line 66 of file G4PhysicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 66 of file G4PhysicalVolumeStore.cc

References Clean().

+ Here is the call graph for this function:

G4PhysicalVolumeStore::G4PhysicalVolumeStore ( const G4PhysicalVolumeStore )
delete
G4PhysicalVolumeStore::G4PhysicalVolumeStore ( )
protected

Definition at line 56 of file G4PhysicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 56 of file G4PhysicalVolumeStore.cc

Member Function Documentation

void G4PhysicalVolumeStore::Clean ( )
static

Definition at line 76 of file G4PhysicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 76 of file G4PhysicalVolumeStore.cc

References bmap, fgNotifier, GetInstance(), locked, mvalid, and pos().

Referenced by PHG4PhenixDetector::Construct(), and ~G4PhysicalVolumeStore().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PhysicalVolumeStore::DeRegister ( G4VPhysicalVolume *  pSolid)
static

Definition at line 183 of file G4PhysicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 183 of file G4PhysicalVolumeStore.cc

References bmap, fgNotifier, GetInstance(), it, and locked.

+ Here is the call graph for this function:

G4PhysicalVolumeStore * G4PhysicalVolumeStore::GetInstance ( )
static

Definition at line 269 of file G4PhysicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 269 of file G4PhysicalVolumeStore.cc

References fgInstance.

Referenced by eASTDetectorConstruction::CheckOverlap(), Clean(), PHG4PhenixDetector::Construct(), DeRegister(), G4GDMLReadStructure::GetPhysvol(), GetVolume(), eASTDetectorConstruction::ListPhysVols(), Register(), SetNotifier(), and UpdateMap().

+ Here is the caller graph for this function:

const std::map<G4String, std::vector<G4VPhysicalVolume*> >& G4PhysicalVolumeStore::GetMap ( ) const
inline

Definition at line 81 of file G4PhysicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 81 of file G4PhysicalVolumeStore.hh

References bmap.

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

Definition at line 227 of file G4PhysicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 227 of file G4PhysicalVolumeStore.cc

References bmap, GetInstance(), mvalid, pos(), and UpdateMap().

Referenced by G4GDMLReadStructure::GetPhysvol().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4PhysicalVolumeStore::IsMapValid ( ) const
inline

Definition at line 77 of file G4PhysicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 77 of file G4PhysicalVolumeStore.hh

References mvalid.

G4PhysicalVolumeStore& G4PhysicalVolumeStore::operator= ( const G4PhysicalVolumeStore )
delete
void G4PhysicalVolumeStore::Register ( G4VPhysicalVolume *  pSolid)
static

Definition at line 159 of file G4PhysicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 159 of file G4PhysicalVolumeStore.cc

References bmap, fgNotifier, GetInstance(), it, and mvalid.

+ Here is the call graph for this function:

void G4PhysicalVolumeStore::SetMapValid ( G4bool  val)
inline

Definition at line 78 of file G4PhysicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 78 of file G4PhysicalVolumeStore.hh

References mvalid.

void G4PhysicalVolumeStore::SetNotifier ( G4VStoreNotifier *  pNotifier)
static

Definition at line 122 of file G4PhysicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 122 of file G4PhysicalVolumeStore.cc

References fgNotifier, and GetInstance().

+ Here is the call graph for this function:

void G4PhysicalVolumeStore::UpdateMap ( )

Definition at line 132 of file G4PhysicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 132 of file G4PhysicalVolumeStore.cc

References bmap, GetInstance(), it, mvalid, and pos().

Referenced by GetVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

std::map<G4String, std::vector<G4VPhysicalVolume*> > G4PhysicalVolumeStore::bmap
private

Definition at line 103 of file G4PhysicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 103 of file G4PhysicalVolumeStore.hh

Referenced by Clean(), DeRegister(), GetMap(), GetVolume(), Register(), and UpdateMap().

G4PhysicalVolumeStore * G4PhysicalVolumeStore::fgInstance = nullptr
staticprivate

Definition at line 99 of file G4PhysicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 99 of file G4PhysicalVolumeStore.hh

Referenced by GetInstance().

G4ThreadLocal G4VStoreNotifier * G4PhysicalVolumeStore::fgNotifier = nullptr
staticprivate

Definition at line 100 of file G4PhysicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 100 of file G4PhysicalVolumeStore.hh

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

G4ThreadLocal G4bool G4PhysicalVolumeStore::locked = false
staticprivate

Definition at line 101 of file G4PhysicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 101 of file G4PhysicalVolumeStore.hh

Referenced by Clean(), and DeRegister().

G4bool G4PhysicalVolumeStore::mvalid = false
private

Definition at line 104 of file G4PhysicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 104 of file G4PhysicalVolumeStore.hh

Referenced by Clean(), GetVolume(), IsMapValid(), Register(), SetMapValid(), and UpdateMap().


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