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

#include <geant4/tree/geant4-10.6-release/source/geometry/navigation/include/G4SafetyHelper.hh>

+ Collaboration diagram for G4SafetyHelper:

Public Member Functions

 G4SafetyHelper ()
 
 ~G4SafetyHelper ()
 
G4double CheckNextStep (const G4ThreeVector &position, const G4ThreeVector &direction, const G4double currentMaxStep, G4double &newSafety)
 
G4double ComputeSafety (const G4ThreeVector &pGlobalPoint, G4double maxRadius=DBL_MAX)
 
void Locate (const G4ThreeVector &pGlobalPoint, const G4ThreeVector &direction)
 
void ReLocateWithinVolume (const G4ThreeVector &pGlobalPoint)
 
G4bool RecheckDistanceToCurrentBoundary (const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double *prDistance, G4double *prNewSafety=nullptr) const
 
void EnableParallelNavigation (G4bool parallel)
 
void InitialiseNavigator ()
 
G4int SetVerboseLevel (G4int lev)
 
G4VPhysicalVolumeGetWorldVolume ()
 
void SetCurrentSafety (G4double val, const G4ThreeVector &pos)
 
void InitialiseHelper ()
 

Private Attributes

G4PathFinderfpPathFinder = nullptr
 
G4NavigatorfpMassNavigator = nullptr
 
G4int fMassNavigatorId = -1
 
G4bool fUseParallelGeometries = false
 
G4bool fFirstCall = true
 
G4int fVerbose = 0
 
G4ThreeVector fLastSafetyPosition
 
G4double fLastSafety = 0.0
 

Detailed Description

Definition at line 46 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 46 of file G4SafetyHelper.hh

Constructor & Destructor Documentation

G4SafetyHelper::G4SafetyHelper ( )

Definition at line 38 of file G4SafetyHelper.cc.

View newest version in sPHENIX GitHub at line 38 of file G4SafetyHelper.cc

G4SafetyHelper::~G4SafetyHelper ( )

Definition at line 73 of file G4SafetyHelper.cc.

View newest version in sPHENIX GitHub at line 73 of file G4SafetyHelper.cc

Member Function Documentation

G4double G4SafetyHelper::CheckNextStep ( const G4ThreeVector position,
const G4ThreeVector direction,
const G4double  currentMaxStep,
G4double newSafety 
)

Definition at line 78 of file G4SafetyHelper.cc.

View newest version in sPHENIX GitHub at line 78 of file G4SafetyHelper.cc

References G4Navigator::CheckNextStep(), fLastSafety, fLastSafetyPosition, fpMassNavigator, and position.

Referenced by G4VMscModel::ComputeGeomLimit().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4SafetyHelper::ComputeSafety ( const G4ThreeVector pGlobalPoint,
G4double  maxRadius = DBL_MAX 
)

Definition at line 98 of file G4SafetyHelper.cc.

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

References G4PathFinder::ComputeSafety(), G4Navigator::ComputeSafety(), fLastSafety, fLastSafetyPosition, fpMassNavigator, fpPathFinder, fUseParallelGeometries, and position.

Referenced by G4VEnergyLossProcess::AlongStepDoIt(), G4VMultipleScattering::AlongStepDoIt(), and G4VMscModel::ComputeSafety().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SafetyHelper::EnableParallelNavigation ( G4bool  parallel)
inline

Definition at line 143 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 143 of file G4SafetyHelper.hh

References fUseParallelGeometries.

Referenced by G4PathFinder::EnableParallelNavigation().

+ Here is the caller graph for this function:

G4VPhysicalVolume * G4SafetyHelper::GetWorldVolume ( )
inline

Definition at line 149 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 149 of file G4SafetyHelper.hh

References fpMassNavigator, and G4Navigator::GetWorldVolume().

+ Here is the call graph for this function:

void G4SafetyHelper::InitialiseHelper ( )

Definition at line 65 of file G4SafetyHelper.cc.

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

References fFirstCall, fLastSafety, fLastSafetyPosition, and InitialiseNavigator().

Referenced by G4VEnergyLossProcess::BuildPhysicsTable(), G4MuNeutrinoNucleusProcess::G4MuNeutrinoNucleusProcess(), G4NeutrinoElectronProcess::G4NeutrinoElectronProcess(), G4VMscModel::GetParticleChangeForMSC(), G4PathFinder::PrepareNewTrack(), and G4VMultipleScattering::PreparePhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SafetyHelper::InitialiseNavigator ( )

Definition at line 43 of file G4SafetyHelper.cc.

View newest version in sPHENIX GitHub at line 43 of file G4SafetyHelper.cc

References G4TransportationManager::ActivateNavigator(), FatalException, fMassNavigatorId, fpMassNavigator, fpPathFinder, G4Exception(), G4PathFinder::GetInstance(), G4TransportationManager::GetNavigatorForTracking(), G4TransportationManager::GetTransportationManager(), and G4Navigator::GetWorldVolume().

Referenced by InitialiseHelper().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SafetyHelper::Locate ( const G4ThreeVector pGlobalPoint,
const G4ThreeVector direction 
)

Definition at line 177 of file G4SafetyHelper.cc.

View newest version in sPHENIX GitHub at line 177 of file G4SafetyHelper.cc

References fpMassNavigator, fpPathFinder, fUseParallelGeometries, G4PathFinder::Locate(), and G4Navigator::LocateGlobalPointAndSetup().

+ Here is the call graph for this function:

G4bool G4SafetyHelper::RecheckDistanceToCurrentBoundary ( const G4ThreeVector pGlobalPoint,
const G4ThreeVector pDirection,
const G4double  pCurrentProposedStepLength,
G4double prDistance,
G4double prNewSafety = nullptr 
) const

Definition at line 191 of file G4SafetyHelper.cc.

View newest version in sPHENIX GitHub at line 191 of file G4SafetyHelper.cc

References fpMassNavigator, fpPathFinder, fUseParallelGeometries, G4PathFinder::RecheckDistanceToCurrentBoundary(), and G4Navigator::RecheckDistanceToCurrentBoundary().

Referenced by G4VMultipleScattering::AlongStepDoIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SafetyHelper::ReLocateWithinVolume ( const G4ThreeVector pGlobalPoint)

Definition at line 143 of file G4SafetyHelper.cc.

View newest version in sPHENIX GitHub at line 143 of file G4SafetyHelper.cc

References fLastSafety, fLastSafetyPosition, fpMassNavigator, fpPathFinder, fUseParallelGeometries, fVerbose, G4endl, G4Exception(), JustWarning, G4Navigator::LocateGlobalPointWithinVolume(), CLHEP::Hep3Vector::mag(), CLHEP::Hep3Vector::mag2(), G4PathFinder::ReLocate(), and sqr().

Referenced by G4VMultipleScattering::AlongStepDoIt(), G4NeutrinoElectronProcess::PostStepDoIt(), and G4MuNeutrinoNucleusProcess::PostStepDoIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SafetyHelper::SetCurrentSafety ( G4double  val,
const G4ThreeVector pos 
)
inline

Definition at line 155 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 155 of file G4SafetyHelper.hh

References fLastSafety, fLastSafetyPosition, and pos().

Referenced by G4Transportation::AlongStepGetPhysicalInteractionLength(), G4MonopoleTransportation::AlongStepGetPhysicalInteractionLength(), and G4CoupledTransportation::AlongStepGetPhysicalInteractionLength().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4SafetyHelper::SetVerboseLevel ( G4int  lev)
inline

Definition at line 135 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 135 of file G4SafetyHelper.hh

References fVerbose.

Member Data Documentation

G4bool G4SafetyHelper::fFirstCall = true
private

Definition at line 114 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 114 of file G4SafetyHelper.hh

Referenced by InitialiseHelper().

G4double G4SafetyHelper::fLastSafety = 0.0
private

Definition at line 122 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 122 of file G4SafetyHelper.hh

Referenced by CheckNextStep(), ComputeSafety(), InitialiseHelper(), ReLocateWithinVolume(), and SetCurrentSafety().

G4ThreeVector G4SafetyHelper::fLastSafetyPosition
private

Definition at line 121 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 121 of file G4SafetyHelper.hh

Referenced by CheckNextStep(), ComputeSafety(), InitialiseHelper(), ReLocateWithinVolume(), and SetCurrentSafety().

G4int G4SafetyHelper::fMassNavigatorId = -1
private

Definition at line 109 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 109 of file G4SafetyHelper.hh

Referenced by InitialiseNavigator().

G4Navigator* G4SafetyHelper::fpMassNavigator = nullptr
private

Definition at line 108 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 108 of file G4SafetyHelper.hh

Referenced by CheckNextStep(), ComputeSafety(), GetWorldVolume(), InitialiseNavigator(), Locate(), RecheckDistanceToCurrentBoundary(), and ReLocateWithinVolume().

G4PathFinder* G4SafetyHelper::fpPathFinder = nullptr
private

Definition at line 107 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 107 of file G4SafetyHelper.hh

Referenced by ComputeSafety(), InitialiseNavigator(), Locate(), RecheckDistanceToCurrentBoundary(), and ReLocateWithinVolume().

G4bool G4SafetyHelper::fUseParallelGeometries = false
private

Definition at line 111 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 111 of file G4SafetyHelper.hh

Referenced by ComputeSafety(), EnableParallelNavigation(), Locate(), RecheckDistanceToCurrentBoundary(), and ReLocateWithinVolume().

G4int G4SafetyHelper::fVerbose = 0
private

Definition at line 116 of file G4SafetyHelper.hh.

View newest version in sPHENIX GitHub at line 116 of file G4SafetyHelper.hh

Referenced by ReLocateWithinVolume(), and SetVerboseLevel().


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