Geant4
10.00.p01
|
#include <G4PathFinder.hh>
Static Public Member Functions | |
static G4PathFinder * | GetInstance () |
Protected Member Functions | |
G4double | DoNextLinearStep (const G4FieldTrack &FieldTrack, G4double proposedStepLength) |
G4double | DoNextCurvedStep (const G4FieldTrack &FieldTrack, G4double proposedStepLength, G4VPhysicalVolume *pCurrentPhysVolume) |
void | WhichLimited () |
void | PrintLimited () |
G4bool | UseSafetyForOptimization (G4bool) |
void | ReportMove (const G4ThreeVector &OldV, const G4ThreeVector &NewV, const G4String &Quantity) const |
G4PathFinder () | |
~G4PathFinder () | |
G4Navigator * | GetNavigator (G4int n) const |
Static Private Attributes | |
static const G4int | fMaxNav = 8 |
static G4ThreadLocal G4PathFinder * | fpPathFinder =0 |
Definition at line 61 of file G4PathFinder.hh.
|
protected |
Definition at line 69 of file G4PathFinder.cc.
References fCurrentPreStepSafety, fCurrentStepSize, fLastLocatedPosition, fLimitedStep, fLimitTruth, fLocatedVolume, fMaxNav, fMinSafety_atSafLocation, fMinSafety_PreStepPt, fMinStep, fNewSafetyComputed, fNewTrack, fNoActiveNavigators, fNoGeometriesLimiting, fpFieldPropagator, fpMultiNavigator, fpNavigator, fPreSafetyLocation, fPreSafetyMinValue, fPreSafetyValues, fPreStepCenterRenewed, fPreStepLocation, fpTransportManager, fSafetyLocation, fTrueMinStep, G4GeometryTolerance::GetInstance(), G4TransportationManager::GetPropagatorInField(), G4GeometryTolerance::GetSurfaceTolerance(), G4TransportationManager::GetTransportationManager(), kCarTolerance, kInfinity, and kUndefLimited.
Referenced by GetInstance().
|
protected |
Definition at line 115 of file G4PathFinder.cc.
References fpMultiNavigator, and fpPathFinder.
G4double G4PathFinder::ComputeSafety | ( | const G4ThreeVector & | globalPoint | ) |
Definition at line 732 of file G4PathFinder.cc.
References fMinSafety_atSafLocation, fNewSafetyComputed, fNoActiveNavigators, fpTransportManager, fSafetyLocation, fVerboseLevel, G4cout, G4endl, G4TransportationManager::GetActiveNavigatorsIterator(), kInfinity, and position.
Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength(), G4SafetyHelper::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 151 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(), G4INCL::Math::min(), mm, and MovePoint().
Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength(), G4WeightCutOffProcess::AlongStepGetPhysicalInteractionLength(), G4ImportanceProcess::AlongStepGetPhysicalInteractionLength(), G4ParallelWorldProcess::AlongStepGetPhysicalInteractionLength(), G4ParallelWorldScoringProcess::AlongStepGetPhysicalInteractionLength(), G4WeightWindowProcess::AlongStepGetPhysicalInteractionLength(), and G4FastSimulationManagerProcess::AlongStepGetPhysicalInteractionLength().
G4TouchableHandle G4PathFinder::CreateTouchableHandle | ( | G4int | navId | ) | const |
Definition at line 765 of file G4PathFinder.cc.
References fLocatedVolume, fVerboseLevel, G4cout, G4endl, G4TouchableHistory::GetHistory(), G4VPhysicalVolume::GetName(), GetNavigator(), and G4TouchableHistory::UpdateYourself().
Referenced by G4CoupledTransportation::PostStepDoIt(), G4ImportanceProcess::PostStepDoIt(), G4WeightCutOffProcess::PostStepDoIt(), G4WeightWindowProcess::PostStepDoIt(), G4ParallelWorldProcess::PostStepDoIt(), G4ParallelWorldScoringProcess::PostStepDoIt(), G4ImportanceProcess::StartTracking(), G4WeightCutOffProcess::StartTracking(), G4WeightWindowProcess::StartTracking(), G4ParallelWorldScoringProcess::StartTracking(), and G4ParallelWorldProcess::StartTracking().
|
protected |
Definition at line 1137 of file G4PathFinder.cc.
References G4Navigator::ComputeSafety(), G4PropagatorInField::ComputeStep(), 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::GetPosition(), kDoNot, kInfinity, LimitedString(), G4INCL::Math::min(), G4MultiNavigator::ObtainFinalStep(), and PrintLimited().
Referenced by ComputeStep().
|
protected |
Definition at line 801 of file G4PathFinder.cc.
References endPosition, 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, 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 124 of file G4PathFinder.cc.
References G4SafetyHelper::EnableParallelNavigation(), fpFieldPropagator, fpMultiNavigator, fpTransportManager, G4TransportationManager::GetNavigatorForTracking(), G4TransportationManager::GetSafetyHelper(), and G4PropagatorInField::SetNavigatorForPropagating().
Referenced by PrepareNewTrack().
|
inline |
Definition at line 294 of file G4PathFinder.hh.
References fMinSafety_PreStepPt.
Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength().
|
static |
Definition at line 57 of file G4PathFinder.cc.
References fpPathFinder, and G4PathFinder().
Referenced by G4CoupledTransportation::G4CoupledTransportation(), G4FastSimulationManagerProcess::G4FastSimulationManagerProcess(), G4ImportanceProcess::G4ImportanceProcess(), G4ParallelWorldProcess::G4ParallelWorldProcess(), G4ParallelWorldScoringProcess::G4ParallelWorldScoringProcess(), G4WeightCutOffProcess::G4WeightCutOffProcess(), G4WeightWindowProcess::G4WeightWindowProcess(), and G4SafetyHelper::InitialiseNavigator().
|
inline |
Definition at line 271 of file G4PathFinder.hh.
References fLocatedVolume, and fMaxNav.
Referenced by G4FastSimulationManagerProcess::AtRestGetPhysicalInteractionLength(), and G4FastSimulationManagerProcess::PostStepGetPhysicalInteractionLength().
|
inline |
|
inline |
Definition at line 283 of file G4PathFinder.hh.
References fMinStep.
|
inlineprotected |
Definition at line 304 of file G4PathFinder.hh.
References fNoActiveNavigators, fpNavigator, and n.
Referenced by CreateTouchableHandle(), and PrintLimited().
|
inline |
Definition at line 288 of file G4PathFinder.hh.
References fNoGeometriesLimiting.
Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength().
|
inline |
|
inline |
Definition at line 317 of file G4PathFinder.hh.
References fPreSafetyLocation, fPreSafetyMinValue, and fPreSafetyValues.
Definition at line 1346 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 458 of file G4PathFinder.cc.
References fCurrentStepSize, fEndState, fLastLocatedPosition, fLimitedStep, fLimitTruth, fLocatedVolume, fNewTrack, fNoActiveNavigators, fpTransportManager, fRelocatedPoint, fVerboseLevel, G4cout, G4endl, G4TransportationManager::GetActiveNavigatorsIterator(), G4FieldTrack::GetPosition(), kCarTolerance, kDoNot, position, and ReportMove().
Referenced by ComputeStep(), G4SafetyHelper::Locate(), G4CoupledTransportation::PostStepDoIt(), and PrepareNewTrack().
|
inline |
Definition at line 299 of file G4PathFinder.hh.
References fRelocatedPoint.
Referenced by ComputeStep(), and PrepareNewTrack().
|
inline |
Definition at line 310 of file G4PathFinder.hh.
References fNewSafetyComputed, and fSafetyLocation.
Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength().
void G4PathFinder::PrepareNewTrack | ( | const G4ThreeVector & | position, |
const G4ThreeVector & | direction, | ||
G4VPhysicalVolume * | massStartVol = 0 |
||
) |
Definition at line 349 of file G4PathFinder.cc.
References EnableParallelNavigation(), FatalException, fCurrentPreStepSafety, fCurrentStepSize, fLastLocatedPosition, fLimitedStep, fLimitTruth, fLocatedVolume, fMaxNav, fMinSafety_atSafLocation, fMinSafety_PreStepPt, fNewSafetyComputed, fNewTrack, fNoActiveNavigators, fNoGeometriesLimiting, fpMultiNavigator, fpNavigator, fPreSafetyMinValue, fPreSafetyValues, fpTransportManager, fRelocatedPoint, G4endl, G4Exception(), G4TransportationManager::GetActiveNavigatorsIterator(), G4TransportationManager::GetSafetyHelper(), G4SafetyHelper::InitialiseHelper(), kDoNot, Locate(), MovePoint(), position, and G4MultiNavigator::PrepareNavigators().
Referenced by G4ImportanceProcess::StartTracking(), G4WeightCutOffProcess::StartTracking(), G4WeightWindowProcess::StartTracking(), G4ParallelWorldScoringProcess::StartTracking(), G4ParallelWorldProcess::StartTracking(), G4FastSimulationManagerProcess::StartTracking(), and G4CoupledTransportation::StartTracking().
|
protected |
Definition at line 1076 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 1366 of file G4PathFinder.cc.
References fMinSafety_atSafLocation, fNewSafetyComputed, fNoActiveNavigators, fPreSafetyLocation, fPreSafetyMinValue, fPreSafetyValues, and fSafetyLocation.
void G4PathFinder::ReLocate | ( | const G4ThreeVector & | position | ) |
Definition at line 536 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, G4INCL::Math::max(), position, and ReportMove().
Referenced by G4CoupledTransportation::PostStepDoIt(), and G4SafetyHelper::ReLocateWithinVolume().
|
protected |
Definition at line 436 of file G4PathFinder.cc.
References G4cerr, G4endl, G4Exception(), JustWarning, and mm.
Referenced by Locate(), and ReLocate().
|
inline |
Definition at line 278 of file G4PathFinder.hh.
References fVerboseLevel.
|
protected |
Definition at line 1018 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 226 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), PrepareNewTrack(), and PrintLimited().
|
private |
Definition at line 255 of file G4PathFinder.hh.
Referenced by ComputeStep(), and PrintLimited().
Definition at line 216 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), Locate(), PrepareNewTrack(), PrintLimited(), ReLocate(), and WhichLimited().
|
private |
Definition at line 241 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), Locate(), and ReLocate().
|
private |
Definition at line 242 of file G4PathFinder.hh.
Referenced by ComputeStep().
|
private |
Definition at line 238 of file G4PathFinder.hh.
Referenced by ComputeStep(), G4PathFinder(), Locate(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 255 of file G4PathFinder.hh.
Referenced by ComputeStep().
Definition at line 214 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), Locate(), PrepareNewTrack(), PrintLimited(), ReLocate(), and WhichLimited().
Definition at line 215 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), Locate(), PrepareNewTrack(), PrintLimited(), ReLocate(), and WhichLimited().
|
private |
Definition at line 237 of file G4PathFinder.hh.
Referenced by CreateTouchableHandle(), G4PathFinder(), GetLocatedVolume(), Locate(), and PrepareNewTrack().
|
staticprivate |
Definition at line 206 of file G4PathFinder.hh.
Referenced by G4PathFinder(), GetLocatedVolume(), and PrepareNewTrack().
|
private |
Definition at line 251 of file G4PathFinder.hh.
Referenced by ComputeSafety(), G4PathFinder(), PrepareNewTrack(), PushPostSafetyToPreSafety(), and ReLocate().
|
private |
Definition at line 225 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), GetCurrentSafety(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 232 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), GetMinimumStep(), PrintLimited(), and WhichLimited().
Definition at line 252 of file G4PathFinder.hh.
Referenced by ComputeSafety(), G4PathFinder(), ObtainSafety(), PrepareNewTrack(), and PushPostSafetyToPreSafety().
|
private |
Definition at line 204 of file G4PathFinder.hh.
Referenced by ComputeStep(), G4PathFinder(), Locate(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 203 of file G4PathFinder.hh.
Referenced by ComputeSafety(), ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), GetNavigator(), Locate(), PrepareNewTrack(), PrintLimited(), PushPostSafetyToPreSafety(), ReLocate(), and WhichLimited().
|
private |
Definition at line 217 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), GetNumberGeometriesLimitingStep(), PrepareNewTrack(), and WhichLimited().
|
private |
Definition at line 260 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), EnableParallelNavigation(), and G4PathFinder().
|
private |
Definition at line 199 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), EnableParallelNavigation(), G4PathFinder(), PrepareNewTrack(), and ~G4PathFinder().
|
private |
Definition at line 210 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), G4PathFinder(), GetNavigator(), and PrepareNewTrack().
|
staticprivate |
Definition at line 264 of file G4PathFinder.hh.
Referenced by GetInstance(), and ~G4PathFinder().
|
private |
Definition at line 219 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), LastPreSafety(), PushPostSafetyToPreSafety(), and ReLocate().
|
private |
Definition at line 220 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), 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 230 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), and G4PathFinder().
|
private |
Definition at line 224 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), and ReLocate().
|
private |
Definition at line 259 of file G4PathFinder.hh.
Referenced by ComputeSafety(), DoNextLinearStep(), EnableParallelNavigation(), G4PathFinder(), Locate(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 244 of file G4PathFinder.hh.
Referenced by ComputeStep(), Locate(), MovePoint(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 250 of file G4PathFinder.hh.
Referenced by ComputeSafety(), G4PathFinder(), ObtainSafety(), PushPostSafetyToPreSafety(), and ReLocate().
|
private |
Definition at line 233 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), and PrintLimited().
|
private |
Definition at line 257 of file G4PathFinder.hh.
Referenced by ComputeSafety(), ComputeStep(), CreateTouchableHandle(), DoNextCurvedStep(), DoNextLinearStep(), Locate(), PrintLimited(), ReLocate(), SetVerboseLevel(), and WhichLimited().
|
private |
Definition at line 262 of file G4PathFinder.hh.
Referenced by ComputeStep(), G4PathFinder(), Locate(), and WhichLimited().