Geant4
10.00.p03
|
#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 741 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 774 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 1146 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 810 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 EndTrack(), and PrepareNewTrack().
void G4PathFinder::EndTrack | ( | ) |
Definition at line 437 of file G4PathFinder.cc.
References EnableParallelNavigation().
Referenced by G4CoupledTransportation::EndTracking().
|
inline |
Definition at line 299 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 276 of file G4PathFinder.hh.
References fLocatedVolume, and fMaxNav.
Referenced by G4FastSimulationManagerProcess::AtRestGetPhysicalInteractionLength(), and G4FastSimulationManagerProcess::PostStepGetPhysicalInteractionLength().
|
inline |
|
inline |
Definition at line 288 of file G4PathFinder.hh.
References fMinStep.
|
inlineprotected |
Definition at line 309 of file G4PathFinder.hh.
References fNoActiveNavigators, fpNavigator, and n.
Referenced by CreateTouchableHandle(), and PrintLimited().
|
inline |
Definition at line 293 of file G4PathFinder.hh.
References fNoGeometriesLimiting.
Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength().
|
inline |
|
inline |
Definition at line 322 of file G4PathFinder.hh.
References fPreSafetyLocation, fPreSafetyMinValue, and fPreSafetyValues.
Definition at line 1355 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 467 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 304 of file G4PathFinder.hh.
References fRelocatedPoint.
Referenced by ComputeStep(), and PrepareNewTrack().
|
inline |
Definition at line 315 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 1085 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 1375 of file G4PathFinder.cc.
References fMinSafety_atSafLocation, fNewSafetyComputed, fNoActiveNavigators, fPreSafetyLocation, fPreSafetyMinValue, fPreSafetyValues, and fSafetyLocation.
void G4PathFinder::ReLocate | ( | const G4ThreeVector & | position | ) |
Definition at line 545 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 445 of file G4PathFinder.cc.
References G4cerr, G4endl, G4Exception(), JustWarning, and mm.
Referenced by Locate(), and ReLocate().
|
inline |
Definition at line 283 of file G4PathFinder.hh.
References fVerboseLevel.
|
protected |
Definition at line 1027 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 231 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), PrepareNewTrack(), and PrintLimited().
|
private |
Definition at line 260 of file G4PathFinder.hh.
Referenced by ComputeStep(), and PrintLimited().
Definition at line 221 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), Locate(), PrepareNewTrack(), PrintLimited(), ReLocate(), and WhichLimited().
|
private |
Definition at line 246 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), Locate(), and ReLocate().
|
private |
Definition at line 247 of file G4PathFinder.hh.
Referenced by ComputeStep().
|
private |
Definition at line 243 of file G4PathFinder.hh.
Referenced by ComputeStep(), G4PathFinder(), Locate(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 260 of file G4PathFinder.hh.
Referenced by ComputeStep().
Definition at line 219 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), Locate(), PrepareNewTrack(), PrintLimited(), ReLocate(), and WhichLimited().
Definition at line 220 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), Locate(), PrepareNewTrack(), PrintLimited(), ReLocate(), and WhichLimited().
|
private |
Definition at line 242 of file G4PathFinder.hh.
Referenced by CreateTouchableHandle(), G4PathFinder(), GetLocatedVolume(), Locate(), and PrepareNewTrack().
|
staticprivate |
Definition at line 211 of file G4PathFinder.hh.
Referenced by G4PathFinder(), GetLocatedVolume(), and PrepareNewTrack().
|
private |
Definition at line 256 of file G4PathFinder.hh.
Referenced by ComputeSafety(), G4PathFinder(), PrepareNewTrack(), PushPostSafetyToPreSafety(), and ReLocate().
|
private |
Definition at line 230 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), GetCurrentSafety(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 237 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), GetMinimumStep(), PrintLimited(), and WhichLimited().
Definition at line 257 of file G4PathFinder.hh.
Referenced by ComputeSafety(), G4PathFinder(), ObtainSafety(), PrepareNewTrack(), and PushPostSafetyToPreSafety().
|
private |
Definition at line 209 of file G4PathFinder.hh.
Referenced by ComputeStep(), G4PathFinder(), Locate(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 208 of file G4PathFinder.hh.
Referenced by ComputeSafety(), ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), GetNavigator(), Locate(), PrepareNewTrack(), PrintLimited(), PushPostSafetyToPreSafety(), ReLocate(), and WhichLimited().
|
private |
Definition at line 222 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), GetNumberGeometriesLimitingStep(), PrepareNewTrack(), and WhichLimited().
|
private |
Definition at line 265 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), EnableParallelNavigation(), and G4PathFinder().
|
private |
Definition at line 204 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), EnableParallelNavigation(), G4PathFinder(), PrepareNewTrack(), and ~G4PathFinder().
|
private |
Definition at line 215 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), G4PathFinder(), GetNavigator(), and PrepareNewTrack().
|
staticprivate |
Definition at line 269 of file G4PathFinder.hh.
Referenced by GetInstance(), and ~G4PathFinder().
|
private |
Definition at line 224 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), LastPreSafety(), PushPostSafetyToPreSafety(), and ReLocate().
|
private |
Definition at line 225 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), LastPreSafety(), PrepareNewTrack(), PushPostSafetyToPreSafety(), and ReLocate().
Definition at line 226 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(), DoNextLinearStep(), and G4PathFinder().
|
private |
Definition at line 229 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), and ReLocate().
|
private |
Definition at line 264 of file G4PathFinder.hh.
Referenced by ComputeSafety(), DoNextLinearStep(), EnableParallelNavigation(), G4PathFinder(), Locate(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 249 of file G4PathFinder.hh.
Referenced by ComputeStep(), Locate(), MovePoint(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 255 of file G4PathFinder.hh.
Referenced by ComputeSafety(), G4PathFinder(), ObtainSafety(), PushPostSafetyToPreSafety(), and ReLocate().
|
private |
Definition at line 238 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), and PrintLimited().
|
private |
Definition at line 262 of file G4PathFinder.hh.
Referenced by ComputeSafety(), ComputeStep(), CreateTouchableHandle(), DoNextCurvedStep(), DoNextLinearStep(), Locate(), PrintLimited(), ReLocate(), SetVerboseLevel(), and WhichLimited().
|
private |
Definition at line 267 of file G4PathFinder.hh.
Referenced by ComputeStep(), G4PathFinder(), Locate(), and WhichLimited().