Geant4  10.03
G4ParallelGeometriesLimiterProcess Class Reference

#include <G4ParallelGeometriesLimiterProcess.hh>

+ Inheritance diagram for G4ParallelGeometriesLimiterProcess:
+ Collaboration diagram for G4ParallelGeometriesLimiterProcess:

Public Member Functions

 G4ParallelGeometriesLimiterProcess (const G4String &processName="biasLimiter")
 
virtual ~G4ParallelGeometriesLimiterProcess ()
 
void AddParallelWorld (const G4String &parallelWorldName)
 
void RemoveParallelWorld (const G4String &parallelWorldName)
 
const std::vector
< G4VPhysicalVolume * > & 
GetParallelWorlds () const
 
G4int GetParallelWorldIndex (const G4VPhysicalVolume *parallelWorld) const
 
G4int GetParallelWorldIndex (G4String parallelWorldName) const
 
const std::vector< G4Navigator * > & GetActiveNavigators () const
 
const G4NavigatorGetNavigator (G4int worldIndex) const
 
const std::vector< const
G4VPhysicalVolume * > & 
GetCurrentVolumes () const
 
const std::vector< const
G4VPhysicalVolume * > & 
GetPreviousVolumes () const
 
const G4VPhysicalVolumeGetCurrentVolume (G4int worldIndex) const
 
const G4VPhysicalVolumeGetPreviousVolume (G4int worldIndex) const
 
const std::vector< G4bool > & GetIsLimiting () const
 
const std::vector< G4bool > & GetWasLimiting () const
 
G4bool GetIsLimiting (G4int worldIndex) const
 
G4bool GetWasLimiting (G4int worldIndex) const
 
void StartTracking (G4Track *)
 
void EndTracking ()
 
G4double PostStepGetPhysicalInteractionLength (const G4Track &, G4double, G4ForceCondition *)
 
G4VParticleChangePostStepDoIt (const G4Track &, const G4Step &)
 
G4double AlongStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)
 
G4VParticleChangeAlongStepDoIt (const G4Track &track, const G4Step &step)
 
G4double AtRestGetPhysicalInteractionLength (const G4Track &, G4ForceCondition *)
 
G4VParticleChangeAtRestDoIt (const G4Track &, const G4Step &)
 
virtual void SetProcessManager (const G4ProcessManager *)
 
- Public Member Functions inherited from G4VProcess
 G4VProcess (const G4String &aName="NoName", G4ProcessType aType=fNotDefined)
 
 G4VProcess (const G4VProcess &right)
 
virtual ~G4VProcess ()
 
G4int operator== (const G4VProcess &right) const
 
G4int operator!= (const G4VProcess &right) const
 
G4double GetCurrentInteractionLength () const
 
void SetPILfactor (G4double value)
 
G4double GetPILfactor () const
 
G4double AlongStepGPIL (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)
 
G4double AtRestGPIL (const G4Track &track, G4ForceCondition *condition)
 
G4double PostStepGPIL (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
virtual G4bool IsApplicable (const G4ParticleDefinition &)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual void PreparePhysicsTable (const G4ParticleDefinition &)
 
virtual G4bool StorePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool)
 
virtual G4bool RetrievePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool)
 
const G4StringGetPhysicsTableFileName (const G4ParticleDefinition *, const G4String &directory, const G4String &tableName, G4bool ascii=false)
 
const G4StringGetProcessName () const
 
G4ProcessType GetProcessType () const
 
void SetProcessType (G4ProcessType)
 
G4int GetProcessSubType () const
 
void SetProcessSubType (G4int)
 
virtual const G4ProcessManagerGetProcessManager ()
 
virtual void ResetNumberOfInteractionLengthLeft ()
 
G4double GetNumberOfInteractionLengthLeft () const
 
G4double GetTotalNumberOfInteractionLengthTraversed () const
 
G4bool isAtRestDoItIsEnabled () const
 
G4bool isAlongStepDoItIsEnabled () const
 
G4bool isPostStepDoItIsEnabled () const
 
virtual void DumpInfo () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
virtual void SetMasterProcess (G4VProcess *masterP)
 
const G4VProcessGetMasterProcess () const
 
virtual void BuildWorkerPhysicsTable (const G4ParticleDefinition &part)
 
virtual void PrepareWorkerPhysicsTable (const G4ParticleDefinition &)
 

Private Attributes

std::vector< G4VPhysicalVolume * > fParallelWorlds
 
std::vector< G4Navigator * > fParallelWorldNavigators
 
std::vector< G4intfParallelWorldNavigatorIndeces
 
std::vector< G4doublefParallelWorldSafeties
 
std::vector< G4boolfParallelWorldIsLimiting
 
std::vector< G4boolfParallelWorldWasLimiting
 
std::vector< const
G4VPhysicalVolume * > 
fCurrentVolumes
 
std::vector< const
G4VPhysicalVolume * > 
fPreviousVolumes
 
G4double fParallelWorldSafety
 
G4bool fIsTrackingTime
 
G4FieldTrack fFieldTrack
 
G4ParticleChangeForNothing fDummyParticleChange
 
G4PathFinderfPathFinder
 
G4TransportationManagerfTransportationManager
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VProcess
static const G4StringGetProcessTypeName (G4ProcessType)
 
- Protected Member Functions inherited from G4VProcess
void SubtractNumberOfInteractionLengthLeft (G4double previousStepSize)
 
void ClearNumberOfInteractionLengthLeft ()
 
- Protected Attributes inherited from G4VProcess
const G4ProcessManageraProcessManager
 
G4VParticleChangepParticleChange
 
G4ParticleChange aParticleChange
 
G4double theNumberOfInteractionLengthLeft
 
G4double currentInteractionLength
 
G4double theInitialNumberOfInteractionLength
 
G4String theProcessName
 
G4String thePhysicsTableFileName
 
G4ProcessType theProcessType
 
G4int theProcessSubType
 
G4double thePILfactor
 
G4bool enableAtRestDoIt
 
G4bool enableAlongStepDoIt
 
G4bool enablePostStepDoIt
 
G4int verboseLevel
 

Detailed Description

Definition at line 62 of file G4ParallelGeometriesLimiterProcess.hh.

Constructor & Destructor Documentation

G4ParallelGeometriesLimiterProcess::G4ParallelGeometriesLimiterProcess ( const G4String processName = "biasLimiter")

Definition at line 41 of file G4ParallelGeometriesLimiterProcess.cc.

References fPathFinder, fTransportationManager, G4PathFinder::GetInstance(), and G4TransportationManager::GetTransportationManager().

+ Here is the call graph for this function:

virtual G4ParallelGeometriesLimiterProcess::~G4ParallelGeometriesLimiterProcess ( )
inlinevirtual

Definition at line 71 of file G4ParallelGeometriesLimiterProcess.hh.

Member Function Documentation

void G4ParallelGeometriesLimiterProcess::AddParallelWorld ( const G4String parallelWorldName)

Definition at line 57 of file G4ParallelGeometriesLimiterProcess.cc.

References FatalException, fIsTrackingTime, fParallelWorlds, fTransportationManager, G4endl, G4Exception(), G4TransportationManager::GetNavigatorForTracking(), G4VProcess::GetProcessName(), G4Navigator::GetWorldVolume(), G4TransportationManager::IsWorldExisting(), and JustWarning.

Referenced by G4GenericBiasingPhysics::AssociateParallelGeometries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VParticleChange * G4ParallelGeometriesLimiterProcess::AlongStepDoIt ( const G4Track track,
const G4Step step 
)
virtual

Implements G4VProcess.

Definition at line 371 of file G4ParallelGeometriesLimiterProcess.cc.

References fDummyParticleChange, and G4ParticleChangeForNothing::Initialize().

+ Here is the call graph for this function:

G4double G4ParallelGeometriesLimiterProcess::AlongStepGetPhysicalInteractionLength ( const G4Track track,
G4double  previousStepSize,
G4double  currentMinimumStep,
G4double proposedSafety,
G4GPILSelection selection 
)
virtual
G4VParticleChange* G4ParallelGeometriesLimiterProcess::AtRestDoIt ( const G4Track ,
const G4Step  
)
inlinevirtual

Implements G4VProcess.

Definition at line 157 of file G4ParallelGeometriesLimiterProcess.hh.

G4double G4ParallelGeometriesLimiterProcess::AtRestGetPhysicalInteractionLength ( const G4Track ,
G4ForceCondition  
)
inlinevirtual

Implements G4VProcess.

Definition at line 153 of file G4ParallelGeometriesLimiterProcess.hh.

References DBL_MAX.

void G4ParallelGeometriesLimiterProcess::EndTracking ( )
virtual

Reimplemented from G4VProcess.

Definition at line 229 of file G4ParallelGeometriesLimiterProcess.cc.

References G4TransportationManager::DeActivateNavigator(), fIsTrackingTime, fParallelWorldNavigators, and fTransportationManager.

+ Here is the call graph for this function:

const std::vector< G4Navigator* >& G4ParallelGeometriesLimiterProcess::GetActiveNavigators ( ) const
inline

Definition at line 95 of file G4ParallelGeometriesLimiterProcess.hh.

References fParallelWorldNavigators.

const G4VPhysicalVolume* G4ParallelGeometriesLimiterProcess::GetCurrentVolume ( G4int  worldIndex) const
inline

Definition at line 112 of file G4ParallelGeometriesLimiterProcess.hh.

References fCurrentVolumes.

const std::vector< const G4VPhysicalVolume* >& G4ParallelGeometriesLimiterProcess::GetCurrentVolumes ( ) const
inline

Definition at line 108 of file G4ParallelGeometriesLimiterProcess.hh.

References fCurrentVolumes.

Referenced by G4BiasingProcessInterface::PostStepGetPhysicalInteractionLength().

+ Here is the caller graph for this function:

const std::vector< G4bool >& G4ParallelGeometriesLimiterProcess::GetIsLimiting ( ) const
inline

Definition at line 115 of file G4ParallelGeometriesLimiterProcess.hh.

References fParallelWorldIsLimiting.

Referenced by GB06BOptnSplitAndKillByImportance::GenerateBiasingFinalState().

+ Here is the caller graph for this function:

G4bool G4ParallelGeometriesLimiterProcess::GetIsLimiting ( G4int  worldIndex) const
inline

Definition at line 119 of file G4ParallelGeometriesLimiterProcess.hh.

References fParallelWorldIsLimiting.

const G4Navigator* G4ParallelGeometriesLimiterProcess::GetNavigator ( G4int  worldIndex) const
inline

Definition at line 98 of file G4ParallelGeometriesLimiterProcess.hh.

References fParallelWorldNavigators.

Referenced by StartTracking().

+ Here is the caller graph for this function:

G4int G4ParallelGeometriesLimiterProcess::GetParallelWorldIndex ( const G4VPhysicalVolume parallelWorld) const

Definition at line 407 of file G4ParallelGeometriesLimiterProcess.cc.

References fParallelWorlds.

Referenced by GetParallelWorldIndex(), and GB06BOptrSplitAndKillByImportance::StartRun().

+ Here is the caller graph for this function:

G4int G4ParallelGeometriesLimiterProcess::GetParallelWorldIndex ( G4String  parallelWorldName) const

Definition at line 424 of file G4ParallelGeometriesLimiterProcess.cc.

References fTransportationManager, GetParallelWorldIndex(), and G4TransportationManager::IsWorldExisting().

+ Here is the call graph for this function:

const std::vector< G4VPhysicalVolume* >& G4ParallelGeometriesLimiterProcess::GetParallelWorlds ( ) const
inline

Definition at line 81 of file G4ParallelGeometriesLimiterProcess.hh.

References fParallelWorlds.

const G4VPhysicalVolume* G4ParallelGeometriesLimiterProcess::GetPreviousVolume ( G4int  worldIndex) const
inline

Definition at line 113 of file G4ParallelGeometriesLimiterProcess.hh.

References fPreviousVolumes.

const std::vector< const G4VPhysicalVolume* >& G4ParallelGeometriesLimiterProcess::GetPreviousVolumes ( ) const
inline

Definition at line 109 of file G4ParallelGeometriesLimiterProcess.hh.

References fPreviousVolumes.

const std::vector< G4bool >& G4ParallelGeometriesLimiterProcess::GetWasLimiting ( ) const
inline

Definition at line 116 of file G4ParallelGeometriesLimiterProcess.hh.

References fParallelWorldWasLimiting.

Referenced by G4BiasingProcessInterface::PostStepGetPhysicalInteractionLength().

+ Here is the caller graph for this function:

G4bool G4ParallelGeometriesLimiterProcess::GetWasLimiting ( G4int  worldIndex) const
inline

Definition at line 120 of file G4ParallelGeometriesLimiterProcess.hh.

References fParallelWorldWasLimiting.

G4VParticleChange* G4ParallelGeometriesLimiterProcess::PostStepDoIt ( const G4Track ,
const G4Step  
)
inlinevirtual

Implements G4VProcess.

Definition at line 136 of file G4ParallelGeometriesLimiterProcess.hh.

G4double G4ParallelGeometriesLimiterProcess::PostStepGetPhysicalInteractionLength ( const G4Track ,
G4double  ,
G4ForceCondition condition 
)
virtual

Implements G4VProcess.

Definition at line 237 of file G4ParallelGeometriesLimiterProcess.cc.

References DBL_MAX, fCurrentVolumes, fParallelWorldIsLimiting, fParallelWorldNavigatorIndeces, fParallelWorldWasLimiting, fPathFinder, fPreviousVolumes, G4PathFinder::GetLocatedVolume(), and NotForced.

+ Here is the call graph for this function:

void G4ParallelGeometriesLimiterProcess::RemoveParallelWorld ( const G4String parallelWorldName)

Definition at line 127 of file G4ParallelGeometriesLimiterProcess.cc.

References fIsTrackingTime, fParallelWorlds, fTransportationManager, G4endl, G4Exception(), G4VProcess::GetProcessName(), G4TransportationManager::IsWorldExisting(), and JustWarning.

+ Here is the call graph for this function:

void G4ParallelGeometriesLimiterProcess::SetProcessManager ( const G4ProcessManager mgr)
virtual

Reimplemented from G4VProcess.

Definition at line 380 of file G4ParallelGeometriesLimiterProcess.cc.

References G4BiasingProcessSharedData::fParallelGeometriesLimiterProcess, G4BiasingProcessSharedData::fSharedDataMap, G4endl, G4Exception(), G4ParticleDefinition::GetParticleName(), G4ProcessManager::GetParticleType(), and JustWarning.

+ Here is the call graph for this function:

void G4ParallelGeometriesLimiterProcess::StartTracking ( G4Track track)
virtual

Member Data Documentation

std::vector< const G4VPhysicalVolume* > G4ParallelGeometriesLimiterProcess::fCurrentVolumes
private
G4ParticleChangeForNothing G4ParallelGeometriesLimiterProcess::fDummyParticleChange
private

Definition at line 178 of file G4ParallelGeometriesLimiterProcess.hh.

Referenced by AlongStepDoIt().

G4FieldTrack G4ParallelGeometriesLimiterProcess::fFieldTrack
private
G4bool G4ParallelGeometriesLimiterProcess::fIsTrackingTime
private
std::vector< G4bool > G4ParallelGeometriesLimiterProcess::fParallelWorldIsLimiting
private
std::vector< G4int > G4ParallelGeometriesLimiterProcess::fParallelWorldNavigatorIndeces
private
std::vector< G4Navigator* > G4ParallelGeometriesLimiterProcess::fParallelWorldNavigators
private
std::vector< G4VPhysicalVolume* > G4ParallelGeometriesLimiterProcess::fParallelWorlds
private
std::vector< G4double > G4ParallelGeometriesLimiterProcess::fParallelWorldSafeties
private
G4double G4ParallelGeometriesLimiterProcess::fParallelWorldSafety
private
std::vector< G4bool > G4ParallelGeometriesLimiterProcess::fParallelWorldWasLimiting
private
std::vector< const G4VPhysicalVolume* > G4ParallelGeometriesLimiterProcess::fPreviousVolumes
private
G4TransportationManager* G4ParallelGeometriesLimiterProcess::fTransportationManager
private

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