Geant4  10.01.p02
G4WeightWindowStore Class Reference

#include <G4WeightWindowStore.hh>

+ Inheritance diagram for G4WeightWindowStore:
+ Collaboration diagram for G4WeightWindowStore:

Public Member Functions

virtual G4double GetLowerWeight (const G4GeometryCell &gCell, G4double partEnergy) const
 
virtual G4bool IsKnown (const G4GeometryCell &gCell) const
 
void Clear ()
 
void SetWorldVolume ()
 
void SetParallelWorldVolume (G4String paraName)
 
virtual const G4VPhysicalVolumeGetWorldVolume () const
 
virtual const G4VPhysicalVolumeGetParallelWorldVolumePointer () const
 
void AddLowerWeights (const G4GeometryCell &gCell, const std::vector< G4double > &lowerWeights)
 
void AddUpperEboundLowerWeightPairs (const G4GeometryCell &gCell, const G4UpperEnergyToLowerWeightMap &enWeMap)
 
void SetGeneralUpperEnergyBounds (const std::set< G4double, std::less< G4double > > &enBounds)
 
- Public Member Functions inherited from G4VWeightWindowStore
 G4VWeightWindowStore ()
 
virtual ~G4VWeightWindowStore ()
 

Static Public Member Functions

static G4WeightWindowStoreGetInstance ()
 
static G4WeightWindowStoreGetInstance (const G4String &ParallelWorldName)
 

Protected Member Functions

 G4WeightWindowStore ()
 
 G4WeightWindowStore (const G4String &ParallelWorldName)
 
 ~G4WeightWindowStore ()
 

Private Member Functions

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

Private Attributes

const G4VPhysicalVolumefWorldVolume
 
std::set< G4double, std::less
< G4double > > 
fGeneralUpperEnergyBounds
 
G4GeometryCellWeight fCellToUpEnBoundLoWePairsMap
 
G4GeometryCellWeight::const_iterator fCurrentIterator
 

Static Private Attributes

static G4ThreadLocal
G4WeightWindowStore
fInstance = 0
 

Detailed Description

Definition at line 58 of file G4WeightWindowStore.hh.

Constructor & Destructor Documentation

G4WeightWindowStore::G4WeightWindowStore ( )
explicitprotected

Definition at line 49 of file G4WeightWindowStore.cc.

Referenced by GetInstance().

+ Here is the caller graph for this function:

G4WeightWindowStore::G4WeightWindowStore ( const G4String ParallelWorldName)
explicitprotected

Definition at line 57 of file G4WeightWindowStore.cc.

G4WeightWindowStore::~G4WeightWindowStore ( )
protected

Definition at line 64 of file G4WeightWindowStore.cc.

Member Function Documentation

void G4WeightWindowStore::AddLowerWeights ( const G4GeometryCell gCell,
const std::vector< G4double > &  lowerWeights 
)

Definition at line 161 of file G4WeightWindowStore.cc.

References Error(), fCellToUpEnBoundLoWePairsMap, fGeneralUpperEnergyBounds, and IsKnown().

Referenced by B01DetectorConstruction::CreateWeightWindowStore(), and B02ImportanceDetectorConstruction::CreateWeightWindowStore().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WeightWindowStore::AddUpperEboundLowerWeightPairs ( const G4GeometryCell gCell,
const G4UpperEnergyToLowerWeightMap enWeMap 
)

Definition at line 192 of file G4WeightWindowStore.cc.

References Error(), fCellToUpEnBoundLoWePairsMap, and IsKnown().

+ Here is the call graph for this function:

void G4WeightWindowStore::Clear ( )

Definition at line 128 of file G4WeightWindowStore.cc.

References fCellToUpEnBoundLoWePairsMap.

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

Definition at line 217 of file G4WeightWindowStore.cc.

References FatalException, and G4Exception().

Referenced by AddLowerWeights(), AddUpperEboundLowerWeightPairs(), GetLowerWeight(), and SetGeneralUpperEnergyBounds().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4WeightWindowStore * G4WeightWindowStore::GetInstance ( void  )
static

Definition at line 229 of file G4WeightWindowStore.cc.

References fInstance, and G4WeightWindowStore().

Referenced by G4WeightWindowBiasing::ConstructProcess(), B01DetectorConstruction::CreateWeightWindowStore(), and B02ImportanceDetectorConstruction::CreateWeightWindowStore().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 243 of file G4WeightWindowStore.cc.

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

+ Here is the call graph for this function:

G4double G4WeightWindowStore::GetLowerWeight ( const G4GeometryCell gCell,
G4double  partEnergy 
) const
virtual

Implements G4VWeightWindowStore.

Definition at line 68 of file G4WeightWindowStore.cc.

References Error(), fCellToUpEnBoundLoWePairsMap, fCurrentIterator, G4endl, and SetInternalIterator().

+ Here is the call graph for this function:

const G4VPhysicalVolume * G4WeightWindowStore::GetParallelWorldVolumePointer ( ) const
virtual

Definition at line 153 of file G4WeightWindowStore.cc.

References fWorldVolume.

const G4VPhysicalVolume & G4WeightWindowStore::GetWorldVolume ( ) const
virtual

Implements G4VWeightWindowStore.

Definition at line 148 of file G4WeightWindowStore.cc.

References fWorldVolume.

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

Definition at line 107 of file G4WeightWindowStore.cc.

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

Referenced by IsKnown().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Implements G4VWeightWindowStore.

Definition at line 117 of file G4WeightWindowStore.cc.

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

Referenced by AddLowerWeights(), and AddUpperEboundLowerWeightPairs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WeightWindowStore::SetGeneralUpperEnergyBounds ( const std::set< G4double, std::less< G4double > > &  enBounds)

Definition at line 207 of file G4WeightWindowStore.cc.

References Error(), and fGeneralUpperEnergyBounds.

Referenced by B01DetectorConstruction::CreateWeightWindowStore(), and B02ImportanceDetectorConstruction::CreateWeightWindowStore().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 101 of file G4WeightWindowStore.cc.

References fCellToUpEnBoundLoWePairsMap, and fCurrentIterator.

Referenced by GetLowerWeight(), and IsKnown().

+ Here is the caller graph for this function:

void G4WeightWindowStore::SetParallelWorldVolume ( G4String  paraName)

Definition at line 141 of file G4WeightWindowStore.cc.

References fWorldVolume, G4TransportationManager::GetParallelWorld(), and G4TransportationManager::GetTransportationManager().

+ Here is the call graph for this function:

void G4WeightWindowStore::SetWorldVolume ( )

Definition at line 133 of file G4WeightWindowStore.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

G4GeometryCellWeight G4WeightWindowStore::fCellToUpEnBoundLoWePairsMap
private
G4GeometryCellWeight::const_iterator G4WeightWindowStore::fCurrentIterator
mutableprivate

Definition at line 131 of file G4WeightWindowStore.hh.

Referenced by GetLowerWeight(), IsKnown(), and SetInternalIterator().

std::set<G4double, std::less<G4double> > G4WeightWindowStore::fGeneralUpperEnergyBounds
private

Definition at line 129 of file G4WeightWindowStore.hh.

Referenced by AddLowerWeights(), and SetGeneralUpperEnergyBounds().

G4ThreadLocal G4WeightWindowStore * G4WeightWindowStore::fInstance = 0
staticprivate

Definition at line 133 of file G4WeightWindowStore.hh.

Referenced by GetInstance().

const G4VPhysicalVolume* G4WeightWindowStore::fWorldVolume
private

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