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

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

+ Inheritance diagram for G4LogicalVolumeStore:
+ Collaboration diagram for G4LogicalVolumeStore:

Public Member Functions

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

Static Public Member Functions

static void Register (G4LogicalVolume *pVolume)
 
static void DeRegister (G4LogicalVolume *pVolume)
 
static G4LogicalVolumeStoreGetInstance ()
 
static void SetNotifier (G4VStoreNotifier *pNotifier)
 
static void Clean ()
 

Protected Member Functions

 G4LogicalVolumeStore ()
 

Private Attributes

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

Static Private Attributes

static G4LogicalVolumeStorefgInstance = 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 55 of file G4LogicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 55 of file G4LogicalVolumeStore.hh

Constructor & Destructor Documentation

G4LogicalVolumeStore::~G4LogicalVolumeStore ( )
virtual

Definition at line 65 of file G4LogicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 65 of file G4LogicalVolumeStore.cc

References Clean().

+ Here is the call graph for this function:

G4LogicalVolumeStore::G4LogicalVolumeStore ( const G4LogicalVolumeStore )
delete
G4LogicalVolumeStore::G4LogicalVolumeStore ( )
protected

Definition at line 55 of file G4LogicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 55 of file G4LogicalVolumeStore.cc

Member Function Documentation

void G4LogicalVolumeStore::Clean ( )
static

Definition at line 75 of file G4LogicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 75 of file G4LogicalVolumeStore.cc

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4LogicalVolumeStore::DeRegister ( G4LogicalVolume *  pVolume)
static

Definition at line 181 of file G4LogicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 181 of file G4LogicalVolumeStore.cc

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

+ Here is the call graph for this function:

G4LogicalVolumeStore * G4LogicalVolumeStore::GetInstance ( )
static

Definition at line 265 of file G4LogicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 265 of file G4LogicalVolumeStore.cc

References fgInstance.

Referenced by Clean(), PHG4PhenixDetector::Construct(), DeRegister(), eASTDetectorConstruction::GetMaterial(), G4GDMLReadStructure::GetVolume(), GetVolume(), eASTDetectorConstruction::ListLogVols(), Register(), eASTDetectorConstruction::SetMaterial(), SetNotifier(), and UpdateMap().

+ Here is the caller graph for this function:

const std::map<G4String, std::vector<G4LogicalVolume*> >& G4LogicalVolumeStore::GetMap ( ) const
inline

Definition at line 80 of file G4LogicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 80 of file G4LogicalVolumeStore.hh

References bmap.

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

Definition at line 223 of file G4LogicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 223 of file G4LogicalVolumeStore.cc

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

Referenced by G4GDMLReadStructure::GetVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4LogicalVolumeStore::IsMapValid ( ) const
inline

Definition at line 76 of file G4LogicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 76 of file G4LogicalVolumeStore.hh

References mvalid.

G4LogicalVolumeStore& G4LogicalVolumeStore::operator= ( const G4LogicalVolumeStore )
delete
void G4LogicalVolumeStore::Register ( G4LogicalVolume *  pVolume)
static

Definition at line 158 of file G4LogicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 158 of file G4LogicalVolumeStore.cc

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

+ Here is the call graph for this function:

void G4LogicalVolumeStore::SetMapValid ( G4bool  val)
inline

Definition at line 77 of file G4LogicalVolumeStore.hh.

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

References mvalid.

void G4LogicalVolumeStore::SetNotifier ( G4VStoreNotifier *  pNotifier)
static

Definition at line 121 of file G4LogicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 121 of file G4LogicalVolumeStore.cc

References fgNotifier, and GetInstance().

+ Here is the call graph for this function:

void G4LogicalVolumeStore::UpdateMap ( )

Definition at line 131 of file G4LogicalVolumeStore.cc.

View newest version in sPHENIX GitHub at line 131 of file G4LogicalVolumeStore.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<G4LogicalVolume*> > G4LogicalVolumeStore::bmap
private

Definition at line 102 of file G4LogicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 102 of file G4LogicalVolumeStore.hh

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

G4LogicalVolumeStore * G4LogicalVolumeStore::fgInstance = nullptr
staticprivate

Definition at line 98 of file G4LogicalVolumeStore.hh.

View newest version in sPHENIX GitHub at line 98 of file G4LogicalVolumeStore.hh

Referenced by GetInstance().

G4ThreadLocal G4VStoreNotifier * G4LogicalVolumeStore::fgNotifier = nullptr
staticprivate

Definition at line 99 of file G4LogicalVolumeStore.hh.

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

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

G4ThreadLocal G4bool G4LogicalVolumeStore::locked = false
staticprivate

Definition at line 100 of file G4LogicalVolumeStore.hh.

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

Referenced by Clean(), and DeRegister().

G4bool G4LogicalVolumeStore::mvalid = false
private

Definition at line 103 of file G4LogicalVolumeStore.hh.

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

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


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