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

#include <geant4/tree/geant4-10.6-release/source/geometry/biasing/include/G4IStore.hh>

+ Inheritance diagram for G4IStore:
+ Collaboration diagram for G4IStore:

Public Member Functions

virtual G4double GetImportance (const G4GeometryCell &gCell) const
 
virtual G4bool IsKnown (const G4GeometryCell &gCell) const
 
void Clear ()
 
void SetWorldVolume ()
 
void SetParallelWorldVolume (const G4String &paraName)
 
virtual const G4VPhysicalVolumeGetWorldVolume () const
 
virtual const G4VPhysicalVolumeGetParallelWorldVolumePointer () const
 
void AddImportanceGeometryCell (G4double importance, const G4GeometryCell &gCell)
 
void AddImportanceGeometryCell (G4double importance, const G4VPhysicalVolume &, G4int aRepNum=0)
 
void ChangeImportance (G4double importance, const G4GeometryCell &gCell)
 
void ChangeImportance (G4double importance, const G4VPhysicalVolume &, G4int aRepNum=0)
 
G4double GetImportance (const G4VPhysicalVolume &, G4int aRepNum=0) const
 
- Public Member Functions inherited from G4VIStore
 G4VIStore ()
 
virtual ~G4VIStore ()
 

Static Public Member Functions

static G4IStoreGetInstance ()
 
static G4IStoreGetInstance (const G4String &ParallelWorldName)
 

Protected Member Functions

 G4IStore ()
 
 G4IStore (const G4String &ParallelWorldName)
 
 ~G4IStore ()
 

Private Member Functions

G4bool IsInWorld (const G4VPhysicalVolume &) const
 
void SetInternalIterator (const G4GeometryCell &gCell) const
 
void Error (const G4String &m) const
 

Private Attributes

const G4VPhysicalVolumefWorldVolume = nullptr
 
G4GeometryCellImportance fGeometryCelli
 
G4GeometryCellImportance::const_iterator fCurrentIterator
 

Static Private Attributes

static G4ThreadLocal G4IStorefInstance = nullptr
 

Detailed Description

Definition at line 49 of file G4IStore.hh.

View newest version in sPHENIX GitHub at line 49 of file G4IStore.hh

Constructor & Destructor Documentation

G4IStore::G4IStore ( )
explicitprotected

Definition at line 48 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 48 of file G4IStore.cc

Referenced by GetInstance().

+ Here is the caller graph for this function:

G4IStore::G4IStore ( const G4String ParallelWorldName)
explicitprotected

Definition at line 54 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 54 of file G4IStore.cc

References fWorldVolume, G4cout, G4endl, and G4VPhysicalVolume::GetName().

+ Here is the call graph for this function:

G4IStore::~G4IStore ( )
protected

Definition at line 66 of file G4IStore.cc.

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

Member Function Documentation

void G4IStore::AddImportanceGeometryCell ( G4double  importance,
const G4GeometryCell gCell 
)

Definition at line 108 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 108 of file G4IStore.cc

References Error(), fCurrentIterator, fGeometryCelli, G4GeometryCell::GetPhysicalVolume(), IsInWorld(), and SetInternalIterator().

Referenced by AddImportanceGeometryCell(), B01DetectorConstruction::CreateImportanceStore(), B02ImportanceDetectorConstruction::CreateImportanceStore(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IStore::AddImportanceGeometryCell ( G4double  importance,
const G4VPhysicalVolume aVolume,
G4int  aRepNum = 0 
)

Definition at line 127 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 127 of file G4IStore.cc

References AddImportanceGeometryCell().

+ Here is the call graph for this function:

void G4IStore::ChangeImportance ( G4double  importance,
const G4GeometryCell gCell 
)

Definition at line 134 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 134 of file G4IStore.cc

References Error(), fCurrentIterator, fGeometryCelli, G4GeometryCell::GetPhysicalVolume(), IsInWorld(), and SetInternalIterator().

Referenced by ChangeImportance().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IStore::ChangeImportance ( G4double  importance,
const G4VPhysicalVolume aVolume,
G4int  aRepNum = 0 
)

Definition at line 154 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 154 of file G4IStore.cc

References ChangeImportance().

+ Here is the call graph for this function:

void G4IStore::Clear ( )

Definition at line 70 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 70 of file G4IStore.cc

References fGeometryCelli.

void G4IStore::Error ( const G4String m) const
private

Definition at line 233 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 233 of file G4IStore.cc

References FatalException, and G4Exception().

Referenced by AddImportanceGeometryCell(), ChangeImportance(), and GetImportance().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4IStore::GetImportance ( const G4GeometryCell gCell) const
virtual

Implements G4VIStore.

Definition at line 181 of file G4IStore.cc.

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

References Error(), fCurrentIterator, fGeometryCelli, G4endl, G4MUTEXLOCK, G4MUTEXUNLOCK, and SetInternalIterator().

+ Here is the call graph for this function:

G4double G4IStore::GetImportance ( const G4VPhysicalVolume aVolume,
G4int  aRepNum = 0 
) const

Definition at line 161 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 161 of file G4IStore.cc

References Error(), fCurrentIterator, fGeometryCelli, G4MUTEXLOCK, G4MUTEXUNLOCK, and SetInternalIterator().

+ Here is the call graph for this function:

G4IStore * G4IStore::GetInstance ( void  )
static

Definition at line 243 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 243 of file G4IStore.cc

References fInstance, G4cout, G4endl, and G4IStore().

Referenced by B03PhysicsList::AddBiasingProcess(), G4ImportanceBiasing::ConstructProcess(), B01DetectorConstruction::CreateImportanceStore(), B02ImportanceDetectorConstruction::CreateImportanceStore(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4IStore * G4IStore::GetInstance ( const G4String ParallelWorldName)
static

Definition at line 260 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 260 of file G4IStore.cc

References fInstance, G4cout, G4endl, and G4IStore().

+ Here is the call graph for this function:

const G4VPhysicalVolume * G4IStore::GetParallelWorldVolumePointer ( ) const
virtual

Definition at line 98 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 98 of file G4IStore.cc

References fWorldVolume.

const G4VPhysicalVolume & G4IStore::GetWorldVolume ( ) const
virtual

Implements G4VIStore.

Definition at line 93 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 93 of file G4IStore.cc

References fWorldVolume.

G4bool G4IStore::IsInWorld ( const G4VPhysicalVolume aVolume) const
private

Definition at line 223 of file G4IStore.cc.

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

References fWorldVolume, G4VPhysicalVolume::GetLogicalVolume(), and G4LogicalVolume::IsAncestor().

Referenced by AddImportanceGeometryCell(), ChangeImportance(), and IsKnown().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4IStore::IsKnown ( const G4GeometryCell gCell) const
virtual

Implements G4VIStore.

Definition at line 205 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 205 of file G4IStore.cc

References fCurrentIterator, fGeometryCelli, G4MUTEXLOCK, G4MUTEXUNLOCK, G4GeometryCell::GetPhysicalVolume(), IsInWorld(), and SetInternalIterator().

+ Here is the call graph for this function:

void G4IStore::SetInternalIterator ( const G4GeometryCell gCell) const
private

Definition at line 103 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 103 of file G4IStore.cc

References fCurrentIterator, and fGeometryCelli.

Referenced by AddImportanceGeometryCell(), ChangeImportance(), GetImportance(), and IsKnown().

+ Here is the caller graph for this function:

void G4IStore::SetParallelWorldVolume ( const G4String paraName)

Definition at line 84 of file G4IStore.cc.

View newest version in sPHENIX GitHub at line 84 of file G4IStore.cc

References fWorldVolume, G4cout, G4endl, G4VPhysicalVolume::GetName(), G4TransportationManager::GetParallelWorld(), and G4TransportationManager::GetTransportationManager().

+ Here is the call graph for this function:

void G4IStore::SetWorldVolume ( )

Definition at line 75 of file G4IStore.cc.

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

References fWorldVolume, G4cout, G4endl, G4VPhysicalVolume::GetName(), G4TransportationManager::GetNavigatorForTracking(), G4TransportationManager::GetTransportationManager(), and G4Navigator::GetWorldVolume().

+ Here is the call graph for this function:

Member Data Documentation

G4GeometryCellImportance::const_iterator G4IStore::fCurrentIterator
mutableprivate

Definition at line 115 of file G4IStore.hh.

View newest version in sPHENIX GitHub at line 115 of file G4IStore.hh

Referenced by AddImportanceGeometryCell(), ChangeImportance(), GetImportance(), IsKnown(), and SetInternalIterator().

G4GeometryCellImportance G4IStore::fGeometryCelli
private

Definition at line 113 of file G4IStore.hh.

View newest version in sPHENIX GitHub at line 113 of file G4IStore.hh

Referenced by AddImportanceGeometryCell(), ChangeImportance(), Clear(), GetImportance(), IsKnown(), and SetInternalIterator().

G4ThreadLocal G4IStore * G4IStore::fInstance = nullptr
staticprivate

Definition at line 117 of file G4IStore.hh.

View newest version in sPHENIX GitHub at line 117 of file G4IStore.hh

Referenced by GetInstance().

const G4VPhysicalVolume* G4IStore::fWorldVolume = nullptr
private

Definition at line 112 of file G4IStore.hh.

View newest version in sPHENIX GitHub at line 112 of file G4IStore.hh

Referenced by G4IStore(), GetParallelWorldVolumePointer(), GetWorldVolume(), IsInWorld(), SetParallelWorldVolume(), and SetWorldVolume().


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