Geant4-11
|
#include <G4PathFinder.hh>
Static Public Member Functions | |
static G4PathFinder * | GetInstance () |
static G4PathFinder * | GetInstanceIfExist () |
Protected Member Functions | |
G4double | DoNextCurvedStep (const G4FieldTrack &FieldTrack, G4double proposedStepLength, G4VPhysicalVolume *pCurrentPhysVolume) |
G4double | DoNextLinearStep (const G4FieldTrack &FieldTrack, G4double proposedStepLength) |
G4PathFinder () | |
G4Navigator * | GetNavigator (G4int n) const |
void | PrintLimited () |
void | ReportMove (const G4ThreeVector &OldV, const G4ThreeVector &NewV, const G4String &Quantity) const |
G4bool | UseSafetyForOptimization (G4bool) |
void | WhichLimited () |
Static Private Attributes | |
static const G4int | fMaxNav = 16 |
static G4ThreadLocal G4PathFinder * | fpPathFinder = nullptr |
Definition at line 59 of file G4PathFinder.hh.
G4PathFinder::~G4PathFinder | ( | ) |
Definition at line 106 of file G4PathFinder.cc.
References fpMultiNavigator, and fpPathFinder.
|
protected |
Definition at line 74 of file G4PathFinder.cc.
References fCurrentPreStepSafety, fCurrentStepSize, fLastLocatedPosition, fLimitedStep, fLimitTruth, fLocatedVolume, fMaxNav, fNewSafetyComputed, fpFieldPropagator, fpMultiNavigator, fpNavigator, fPreSafetyLocation, fPreSafetyValues, fPreStepLocation, fpTransportManager, fSafetyLocation, G4GeometryTolerance::GetInstance(), G4TransportationManager::GetPropagatorInField(), G4GeometryTolerance::GetSurfaceTolerance(), G4TransportationManager::GetTransportationManager(), kCarTolerance, kInfinity, and kUndefLimited.
Referenced by GetInstance().
G4double G4PathFinder::ComputeSafety | ( | const G4ThreeVector & | globalPoint | ) |
Definition at line 736 of file G4PathFinder.cc.
References DBL_MAX, fMinSafety_atSafLocation, fNewSafetyComputed, fNoActiveNavigators, fpTransportManager, fSafetyLocation, fVerboseLevel, G4cout, G4endl, G4TransportationManager::GetActiveNavigatorsIterator(), kInfinity, and position.
Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength(), G4SafetyHelper::ComputeSafety(), G4ITSafetyHelper::ComputeSafety(), and ReLocate().
G4double G4PathFinder::ComputeStep | ( | const G4FieldTrack & | pFieldTrack, |
G4double | pCurrentProposedStepLength, | ||
G4int | navigatorId, | ||
G4int | stepNo, | ||
G4double & | pNewSafety, | ||
ELimited & | limitedStep, | ||
G4FieldTrack & | EndState, | ||
G4VPhysicalVolume * | currentVolume | ||
) |
Definition at line 142 of file G4PathFinder.cc.
References DoNextCurvedStep(), DoNextLinearStep(), FatalException, fCurrentPreStepSafety, fCurrentStepNo, fCurrentStepSize, fEndState, fFieldExertedForce, G4PropagatorInField::FindAndSetFieldManager(), fLastLocatedPosition, fLastStepNo, fLimitedStep, fMinStep, fNewTrack, fNoActiveNavigators, fNoGeometriesLimiting, fpFieldPropagator, fRelocatedPoint, fTrueMinStep, fVerboseLevel, G4cout, G4endl, G4Exception(), G4FieldTrack::GetCharge(), G4FieldManager::GetDetectorField(), G4FieldTrack::GetMomentumDirection(), G4FieldTrack::GetPosition(), kCarTolerance, Locate(), CLHEP::Hep3Vector::mag2(), G4INCL::Math::max(), G4INCL::Math::min(), mm, MovePoint(), and sqr().
Referenced by G4ImportanceProcess::AlongStepGetPhysicalInteractionLength(), G4WeightCutOffProcess::AlongStepGetPhysicalInteractionLength(), G4WeightWindowProcess::AlongStepGetPhysicalInteractionLength(), G4ParallelWorldProcess::AlongStepGetPhysicalInteractionLength(), G4ParallelWorldScoringProcess::AlongStepGetPhysicalInteractionLength(), G4CoupledTransportation::AlongStepGetPhysicalInteractionLength(), G4ParallelGeometriesLimiterProcess::AlongStepGetPhysicalInteractionLength(), and G4FastSimulationManagerProcess::AlongStepGetPhysicalInteractionLength().
G4TouchableHandle G4PathFinder::CreateTouchableHandle | ( | G4int | navId | ) | const |
Definition at line 769 of file G4PathFinder.cc.
References G4Navigator::CreateTouchableHistory(), fLocatedVolume, fVerboseLevel, G4cout, G4endl, G4TouchableHistory::GetHistory(), G4VPhysicalVolume::GetName(), GetNavigator(), and G4TouchableHistory::UpdateYourself().
Referenced by G4ImportanceProcess::PostStepDoIt(), G4WeightCutOffProcess::PostStepDoIt(), G4WeightWindowProcess::PostStepDoIt(), G4ParallelWorldProcess::PostStepDoIt(), G4ParallelWorldScoringProcess::PostStepDoIt(), G4CoupledTransportation::PostStepDoIt(), G4ImportanceProcess::StartTracking(), G4WeightCutOffProcess::StartTracking(), G4WeightWindowProcess::StartTracking(), G4ParallelWorldProcess::StartTracking(), and G4ParallelWorldScoringProcess::StartTracking().
|
protected |
Definition at line 1146 of file G4PathFinder.cc.
References G4Navigator::ComputeSafety(), G4PropagatorInField::ComputeStep(), DBL_MAX, FatalException, fCurrentPreStepSafety, fCurrentStepSize, fEndState, fLimitedStep, fLimitTruth, fMinSafety_PreStepPt, fMinStep, fNoActiveNavigators, fNoGeometriesLimiting, fpFieldPropagator, fpMultiNavigator, fpNavigator, fPreSafetyLocation, fPreSafetyMinValue, fPreSafetyValues, fPreStepCenterRenewed, fPreStepLocation, fTrueMinStep, fVerboseLevel, G4cout, G4endl, G4Exception(), G4FieldTrack::GetChargeState(), G4PropagatorInField::GetCurrentEquationOfMotion(), G4FieldTrack::GetMomentum(), G4FieldTrack::GetPosition(), G4FieldTrack::GetRestMass(), kDoNot, kInfinity, LimitedString(), CLHEP::Hep3Vector::mag(), G4INCL::Math::min(), G4MultiNavigator::ObtainFinalStep(), PrintLimited(), and G4EquationOfMotion::SetChargeMomentumMass().
Referenced by ComputeStep().
|
protected |
Definition at line 805 of file G4PathFinder.cc.
References fCurrentPreStepSafety, fCurrentStepSize, fEndState, fLimitedStep, fLimitTruth, fMinSafety_PreStepPt, fMinStep, fNoActiveNavigators, fNoGeometriesLimiting, fPreSafetyLocation, fPreSafetyMinValue, fPreSafetyValues, fPreStepCenterRenewed, fPreStepLocation, fpTransportManager, fTrueMinStep, fVerboseLevel, G4cout, G4endl, G4FieldTrack::GetMomentumDirection(), G4FieldTrack::GetPosition(), kDoNot, kInfinity, kUnique, CLHEP::Hep3Vector::mag2(), G4INCL::Math::max(), G4INCL::Math::min(), G4FieldTrack::SetPosition(), G4FieldTrack::SetProperTimeOfFlight(), sqr(), and WhichLimited().
Referenced by ComputeStep().
void G4PathFinder::EnableParallelNavigation | ( | G4bool | enableChoice = true | ) |
Definition at line 115 of file G4PathFinder.cc.
References G4SafetyHelper::EnableParallelNavigation(), fpFieldPropagator, fpMultiNavigator, fpTransportManager, G4TransportationManager::GetNavigatorForTracking(), G4TransportationManager::GetSafetyHelper(), and G4PropagatorInField::SetNavigatorForPropagating().
Referenced by EndTrack(), and PrepareNewTrack().
void G4PathFinder::EndTrack | ( | ) |
Definition at line 432 of file G4PathFinder.cc.
References EnableParallelNavigation().
Referenced by G4CoupledTransportation::EndTracking().
|
inline |
Definition at line 309 of file G4PathFinder.hh.
References fMinSafety_PreStepPt.
Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength().
|
static |
Definition at line 52 of file G4PathFinder.cc.
References fpPathFinder, and G4PathFinder().
Referenced by G4CoupledTransportation::G4CoupledTransportation(), G4FastSimulationManagerProcess::G4FastSimulationManagerProcess(), G4ImportanceProcess::G4ImportanceProcess(), G4ParallelGeometriesLimiterProcess::G4ParallelGeometriesLimiterProcess(), G4ParallelWorldProcess::G4ParallelWorldProcess(), G4ParallelWorldScoringProcess::G4ParallelWorldScoringProcess(), G4WeightCutOffProcess::G4WeightCutOffProcess(), G4WeightWindowProcess::G4WeightWindowProcess(), G4SafetyHelper::InitialiseNavigator(), and G4ITSafetyHelper::InitialiseNavigator().
|
static |
Definition at line 66 of file G4PathFinder.cc.
References fpPathFinder.
Referenced by G4RunManagerKernel::~G4RunManagerKernel().
|
inline |
Definition at line 284 of file G4PathFinder.hh.
References fLocatedVolume, and fMaxNav.
Referenced by G4FastSimulationManagerProcess::AtRestGetPhysicalInteractionLength(), G4ParallelGeometriesLimiterProcess::PostStepGetPhysicalInteractionLength(), G4FastSimulationManagerProcess::PostStepGetPhysicalInteractionLength(), and G4ParallelGeometriesLimiterProcess::StartTracking().
|
inline |
|
inline |
|
inlineprotected |
Definition at line 319 of file G4PathFinder.hh.
References fNoActiveNavigators, fpNavigator, and CLHEP::detail::n.
Referenced by CreateTouchableHandle(), and PrintLimited().
|
inline |
Definition at line 303 of file G4PathFinder.hh.
References fNoGeometriesLimiting.
Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength().
|
inline |
|
inline |
Definition at line 333 of file G4PathFinder.hh.
References fPreSafetyLocation, fPreSafetyMinValue, and fPreSafetyValues.
Definition at line 1364 of file G4PathFinder.cc.
References kDoNot, kSharedOther, kSharedTransport, and kUnique.
Referenced by DoNextCurvedStep(), and PrintLimited().
void G4PathFinder::Locate | ( | const G4ThreeVector & | position, |
const G4ThreeVector & | direction, | ||
G4bool | relativeSearch = true |
||
) |
Definition at line 461 of file G4PathFinder.cc.
References fCurrentStepSize, fEndState, fLastLocatedPosition, fLimitedStep, fLimitTruth, fLocatedVolume, fNewTrack, fNoActiveNavigators, fpTransportManager, fRelocatedPoint, fVerboseLevel, G4cout, G4endl, G4TransportationManager::GetActiveNavigatorsIterator(), G4FieldTrack::GetPosition(), kCarTolerance, kDoNot, CLHEP::Hep3Vector::mag2(), position, ReportMove(), and sqr().
Referenced by ComputeStep(), G4SafetyHelper::Locate(), G4ITSafetyHelper::Locate(), G4CoupledTransportation::PostStepDoIt(), and PrepareNewTrack().
|
inline |
Definition at line 314 of file G4PathFinder.hh.
References fRelocatedPoint.
Referenced by ComputeStep(), and PrepareNewTrack().
|
inline |
Definition at line 326 of file G4PathFinder.hh.
References fNewSafetyComputed, and fSafetyLocation.
Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength().
void G4PathFinder::PrepareNewTrack | ( | const G4ThreeVector & | position, |
const G4ThreeVector & | direction, | ||
G4VPhysicalVolume * | massStartVol = nullptr |
||
) |
Definition at line 342 of file G4PathFinder.cc.
References EnableParallelNavigation(), FatalException, fCurrentPreStepSafety, fCurrentStepSize, fLastLocatedPosition, fLimitedStep, fLimitTruth, fLocatedVolume, fMaxNav, fMinSafety_atSafLocation, fMinSafety_PreStepPt, fNewSafetyComputed, fNewTrack, fNoActiveNavigators, fNoGeometriesLimiting, fpFieldPropagator, fpMultiNavigator, fpNavigator, fPreSafetyMinValue, fPreSafetyValues, fpTransportManager, fRelocatedPoint, G4endl, G4Exception(), G4TransportationManager::GetActiveNavigatorsIterator(), G4TransportationManager::GetSafetyHelper(), G4SafetyHelper::InitialiseHelper(), kDoNot, Locate(), MovePoint(), position, G4MultiNavigator::PrepareNavigators(), and G4PropagatorInField::PrepareNewTrack().
Referenced by G4ParallelGeometriesLimiterProcess::StartTracking(), G4ImportanceProcess::StartTracking(), G4WeightCutOffProcess::StartTracking(), G4WeightWindowProcess::StartTracking(), G4FastSimulationManagerProcess::StartTracking(), G4ParallelWorldProcess::StartTracking(), G4ParallelWorldScoringProcess::StartTracking(), and G4CoupledTransportation::StartTracking().
|
protected |
Definition at line 1086 of file G4PathFinder.cc.
References fCurrentPreStepSafety, fCurrentStepNo, fCurrentStepSize, fLimitedStep, fLimitTruth, fMinStep, fNoActiveNavigators, fTrueMinStep, fVerboseLevel, G4cout, G4endl, G4VPhysicalVolume::GetName(), GetNavigator(), G4Navigator::GetWorldVolume(), and LimitedString().
Referenced by DoNextCurvedStep(), and WhichLimited().
void G4PathFinder::PushPostSafetyToPreSafety | ( | ) |
Definition at line 1384 of file G4PathFinder.cc.
References fMinSafety_atSafLocation, fNewSafetyComputed, fNoActiveNavigators, fPreSafetyLocation, fPreSafetyMinValue, fPreSafetyValues, and fSafetyLocation.
void G4PathFinder::ReLocate | ( | const G4ThreeVector & | position | ) |
Definition at line 543 of file G4PathFinder.cc.
References ComputeSafety(), FatalException, fCurrentStepSize, fEndState, fLastLocatedPosition, fLimitedStep, fLimitTruth, fMinSafety_atSafLocation, fMinSafety_PreStepPt, fNewTrack, fNoActiveNavigators, fPreSafetyLocation, fPreSafetyMinValue, fPreStepLocation, fpTransportManager, fRelocatedPoint, fSafetyLocation, fVerboseLevel, G4cout, G4endl, G4Exception(), G4TransportationManager::GetActiveNavigatorsIterator(), G4GeometryTolerance::GetInstance(), G4FieldTrack::GetPosition(), G4GeometryTolerance::GetRadialTolerance(), kDoNot, CLHEP::Hep3Vector::mag(), CLHEP::Hep3Vector::mag2(), G4INCL::Math::max(), position, ReportMove(), and sqr().
Referenced by G4CoupledTransportation::PostStepDoIt(), G4SafetyHelper::ReLocateWithinVolume(), and G4ITSafetyHelper::ReLocateWithinVolume().
|
protected |
Definition at line 440 of file G4PathFinder.cc.
References G4endl, G4Exception(), JustWarning, CLHEP::Hep3Vector::mag(), and mm.
Referenced by Locate(), and ReLocate().
|
inline |
Definition at line 291 of file G4PathFinder.hh.
References fVerboseLevel.
|
protected |
Definition at line 1026 of file G4PathFinder.cc.
References fCurrentStepSize, fLimitedStep, fLimitTruth, fMinStep, fNoActiveNavigators, fNoGeometriesLimiting, fVerboseLevel, G4cout, G4endl, kCarTolerance, kDoNot, kInfinity, kSharedOther, kSharedTransport, kUnique, and PrintLimited().
Referenced by DoNextLinearStep().
Definition at line 230 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), PrepareNewTrack(), and PrintLimited().
|
private |
Definition at line 268 of file G4PathFinder.hh.
Referenced by ComputeStep(), and PrintLimited().
Definition at line 214 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), Locate(), PrepareNewTrack(), PrintLimited(), ReLocate(), and WhichLimited().
|
private |
Definition at line 249 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), Locate(), and ReLocate().
|
private |
Definition at line 250 of file G4PathFinder.hh.
Referenced by ComputeStep().
|
private |
Definition at line 244 of file G4PathFinder.hh.
Referenced by ComputeStep(), G4PathFinder(), Locate(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 268 of file G4PathFinder.hh.
Referenced by ComputeStep().
Definition at line 212 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), Locate(), PrepareNewTrack(), PrintLimited(), ReLocate(), and WhichLimited().
Definition at line 213 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), Locate(), PrepareNewTrack(), PrintLimited(), ReLocate(), and WhichLimited().
|
private |
Definition at line 243 of file G4PathFinder.hh.
Referenced by CreateTouchableHandle(), G4PathFinder(), GetLocatedVolume(), Locate(), and PrepareNewTrack().
|
staticprivate |
Definition at line 204 of file G4PathFinder.hh.
Referenced by G4PathFinder(), GetLocatedVolume(), and PrepareNewTrack().
|
private |
Definition at line 261 of file G4PathFinder.hh.
Referenced by ComputeSafety(), PrepareNewTrack(), PushPostSafetyToPreSafety(), and ReLocate().
|
private |
Definition at line 228 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), GetCurrentSafety(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 238 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), GetMinimumStep(), PrintLimited(), and WhichLimited().
Definition at line 263 of file G4PathFinder.hh.
Referenced by ComputeSafety(), G4PathFinder(), ObtainSafety(), PrepareNewTrack(), and PushPostSafetyToPreSafety().
|
private |
Definition at line 202 of file G4PathFinder.hh.
Referenced by ComputeStep(), Locate(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 201 of file G4PathFinder.hh.
Referenced by ComputeSafety(), ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), GetNavigator(), Locate(), PrepareNewTrack(), PrintLimited(), PushPostSafetyToPreSafety(), ReLocate(), and WhichLimited().
|
private |
Definition at line 215 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), GetNumberGeometriesLimitingStep(), PrepareNewTrack(), and WhichLimited().
|
private |
Definition at line 273 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), EnableParallelNavigation(), G4PathFinder(), and PrepareNewTrack().
|
private |
Definition at line 198 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), EnableParallelNavigation(), G4PathFinder(), PrepareNewTrack(), and ~G4PathFinder().
|
private |
Definition at line 208 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), G4PathFinder(), GetNavigator(), and PrepareNewTrack().
|
staticprivate |
Definition at line 277 of file G4PathFinder.hh.
Referenced by GetInstance(), GetInstanceIfExist(), and ~G4PathFinder().
|
private |
Definition at line 217 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), LastPreSafety(), PushPostSafetyToPreSafety(), and ReLocate().
|
private |
Definition at line 219 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), LastPreSafety(), PrepareNewTrack(), PushPostSafetyToPreSafety(), and ReLocate().
Definition at line 221 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), LastPreSafety(), PrepareNewTrack(), and PushPostSafetyToPreSafety().
|
private |
Definition at line 235 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), and DoNextLinearStep().
|
private |
Definition at line 226 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), and ReLocate().
|
private |
Definition at line 272 of file G4PathFinder.hh.
Referenced by ComputeSafety(), DoNextLinearStep(), EnableParallelNavigation(), G4PathFinder(), Locate(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 252 of file G4PathFinder.hh.
Referenced by ComputeStep(), Locate(), MovePoint(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 259 of file G4PathFinder.hh.
Referenced by ComputeSafety(), G4PathFinder(), ObtainSafety(), PushPostSafetyToPreSafety(), and ReLocate().
|
private |
Definition at line 239 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), and PrintLimited().
|
private |
Definition at line 270 of file G4PathFinder.hh.
Referenced by ComputeSafety(), ComputeStep(), CreateTouchableHandle(), DoNextCurvedStep(), DoNextLinearStep(), Locate(), PrintLimited(), ReLocate(), SetVerboseLevel(), and WhichLimited().
|
private |
Definition at line 275 of file G4PathFinder.hh.
Referenced by ComputeStep(), G4PathFinder(), Locate(), and WhichLimited().