Geant4
10.02.p02
|
#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 = 16 |
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 745 of file G4PathFinder.cc.
References DBL_MAX, fMinSafety_atSafLocation, fNewSafetyComputed, fNoActiveNavigators, fpTransportManager, fSafetyLocation, fVerboseLevel, G4cout, G4endl, G4TransportationManager::GetActiveNavigatorsIterator(), kInfinity, minSafety, 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 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::max(), G4INCL::Math::min(), mm, and MovePoint().
Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength(), G4WeightCutOffProcess::AlongStepGetPhysicalInteractionLength(), G4ImportanceProcess::AlongStepGetPhysicalInteractionLength(), G4ParallelWorldProcess::AlongStepGetPhysicalInteractionLength(), G4ParallelWorldScoringProcess::AlongStepGetPhysicalInteractionLength(), G4WeightWindowProcess::AlongStepGetPhysicalInteractionLength(), G4FastSimulationManagerProcess::AlongStepGetPhysicalInteractionLength(), and Par02FastSimModelTracker::DoIt().
G4TouchableHandle G4PathFinder::CreateTouchableHandle | ( | G4int | navId | ) | const |
Definition at line 778 of file G4PathFinder.cc.
References fLocatedVolume, fVerboseLevel, G4cout, G4endl, G4TouchableHistory::GetHistory(), G4VPhysicalVolume::GetName(), GetNavigator(), and G4TouchableHistory::UpdateYourself().
Referenced by G4CoupledTransportation::PostStepDoIt(), G4WeightCutOffProcess::PostStepDoIt(), G4ImportanceProcess::PostStepDoIt(), G4WeightWindowProcess::PostStepDoIt(), G4ParallelWorldProcess::PostStepDoIt(), G4ParallelWorldScoringProcess::PostStepDoIt(), G4WeightCutOffProcess::StartTracking(), G4ImportanceProcess::StartTracking(), G4WeightWindowProcess::StartTracking(), G4ParallelWorldScoringProcess::StartTracking(), and G4ParallelWorldProcess::StartTracking().
|
protected |
Definition at line 1150 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::GetChordFinder(), G4ChordFinder::GetIntegrationDriver(), G4FieldTrack::GetMomentum(), G4FieldTrack::GetPosition(), G4FieldTrack::GetRestMass(), G4MagInt_Driver::GetStepper(), kDoNot, kInfinity, LimitedString(), G4INCL::Math::min(), minSafety, G4MultiNavigator::ObtainFinalStep(), PrintLimited(), and G4EquationOfMotion::SetChargeMomentumMass().
Referenced by ComputeStep().
|
protected |
Definition at line 814 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, G4INCL::Math::max(), G4INCL::Math::min(), minSafety, 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 441 of file G4PathFinder.cc.
References EnableParallelNavigation().
Referenced by G4CoupledTransportation::EndTracking().
|
inline |
Definition at line 307 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 Par02FastSimModelTracker::DoIt(), G4CoupledTransportation::G4CoupledTransportation(), G4FastSimulationManagerProcess::G4FastSimulationManagerProcess(), G4ImportanceProcess::G4ImportanceProcess(), G4ParallelWorldProcess::G4ParallelWorldProcess(), G4ParallelWorldScoringProcess::G4ParallelWorldScoringProcess(), G4WeightCutOffProcess::G4WeightCutOffProcess(), G4WeightWindowProcess::G4WeightWindowProcess(), G4ITSafetyHelper::InitialiseNavigator(), and G4SafetyHelper::InitialiseNavigator().
|
inline |
Definition at line 284 of file G4PathFinder.hh.
References fLocatedVolume, and fMaxNav.
Referenced by G4FastSimulationManagerProcess::AtRestGetPhysicalInteractionLength(), and G4FastSimulationManagerProcess::PostStepGetPhysicalInteractionLength().
|
inline |
|
inline |
Definition at line 296 of file G4PathFinder.hh.
References fMinStep.
|
inlineprotected |
Definition at line 317 of file G4PathFinder.hh.
References fNoActiveNavigators, fpNavigator, and n.
Referenced by CreateTouchableHandle(), and PrintLimited().
|
inline |
Definition at line 301 of file G4PathFinder.hh.
References fNoGeometriesLimiting.
Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength().
|
inline |
|
inline |
Definition at line 330 of file G4PathFinder.hh.
References fPreSafetyLocation, fPreSafetyMinValue, and fPreSafetyValues.
Definition at line 1414 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 471 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(), G4ITSafetyHelper::Locate(), G4CoupledTransportation::PostStepDoIt(), and PrepareNewTrack().
|
inline |
Definition at line 312 of file G4PathFinder.hh.
References fRelocatedPoint.
Referenced by ComputeStep(), and PrepareNewTrack().
|
inline |
Definition at line 323 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 351 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 G4WeightCutOffProcess::StartTracking(), G4ImportanceProcess::StartTracking(), G4WeightWindowProcess::StartTracking(), G4ParallelWorldScoringProcess::StartTracking(), G4ParallelWorldProcess::StartTracking(), G4FastSimulationManagerProcess::StartTracking(), and G4CoupledTransportation::StartTracking().
|
protected |
Definition at line 1089 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 1434 of file G4PathFinder.cc.
References fMinSafety_atSafLocation, fNewSafetyComputed, fNoActiveNavigators, fPreSafetyLocation, fPreSafetyMinValue, fPreSafetyValues, and fSafetyLocation.
G4bool G4PathFinder::RecheckDistanceToCurrentBoundary | ( | const G4ThreeVector & | pGlobalPoint, |
const G4ThreeVector & | pDirection, | ||
const G4double | pCurrentProposedStepLength, | ||
G4double * | prDistance, | ||
G4double * | prNewSafety = 0 |
||
) | const |
Definition at line 1369 of file G4PathFinder.cc.
References fNoActiveNavigators, fpNavigator, kInfinity, G4INCL::Math::min(), minSafety, and G4Navigator::RecheckDistanceToCurrentBoundary().
Referenced by G4SafetyHelper::RecheckDistanceToCurrentBoundary().
void G4PathFinder::ReLocate | ( | const G4ThreeVector & | position | ) |
Definition at line 549 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(), G4SafetyHelper::ReLocateWithinVolume(), and G4ITSafetyHelper::ReLocateWithinVolume().
|
protected |
Definition at line 449 of file G4PathFinder.cc.
References G4cerr, G4endl, G4Exception(), JustWarning, and mm.
Referenced by Locate(), and ReLocate().
|
inline |
Definition at line 291 of file G4PathFinder.hh.
References fVerboseLevel.
|
protected |
Definition at line 1031 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 239 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 229 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), Locate(), PrepareNewTrack(), PrintLimited(), ReLocate(), and WhichLimited().
|
private |
Definition at line 254 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), Locate(), and ReLocate().
|
private |
Definition at line 255 of file G4PathFinder.hh.
Referenced by ComputeStep().
|
private |
Definition at line 251 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 227 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), Locate(), PrepareNewTrack(), PrintLimited(), ReLocate(), and WhichLimited().
Definition at line 228 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), Locate(), PrepareNewTrack(), PrintLimited(), ReLocate(), and WhichLimited().
|
private |
Definition at line 250 of file G4PathFinder.hh.
Referenced by CreateTouchableHandle(), G4PathFinder(), GetLocatedVolume(), Locate(), and PrepareNewTrack().
|
staticprivate |
Definition at line 219 of file G4PathFinder.hh.
Referenced by G4PathFinder(), GetLocatedVolume(), and PrepareNewTrack().
|
private |
Definition at line 264 of file G4PathFinder.hh.
Referenced by ComputeSafety(), G4PathFinder(), PrepareNewTrack(), PushPostSafetyToPreSafety(), and ReLocate().
|
private |
Definition at line 238 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), GetCurrentSafety(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 245 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), GetMinimumStep(), PrintLimited(), and WhichLimited().
Definition at line 265 of file G4PathFinder.hh.
Referenced by ComputeSafety(), G4PathFinder(), ObtainSafety(), PrepareNewTrack(), and PushPostSafetyToPreSafety().
|
private |
Definition at line 217 of file G4PathFinder.hh.
Referenced by ComputeStep(), G4PathFinder(), Locate(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 216 of file G4PathFinder.hh.
Referenced by ComputeSafety(), ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), GetNavigator(), Locate(), PrepareNewTrack(), PrintLimited(), PushPostSafetyToPreSafety(), RecheckDistanceToCurrentBoundary(), ReLocate(), and WhichLimited().
|
private |
Definition at line 230 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), 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 212 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), EnableParallelNavigation(), G4PathFinder(), PrepareNewTrack(), and ~G4PathFinder().
|
private |
Definition at line 223 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), G4PathFinder(), GetNavigator(), PrepareNewTrack(), and RecheckDistanceToCurrentBoundary().
|
staticprivate |
Definition at line 277 of file G4PathFinder.hh.
Referenced by GetInstance(), and ~G4PathFinder().
|
private |
Definition at line 232 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), LastPreSafety(), PushPostSafetyToPreSafety(), and ReLocate().
|
private |
Definition at line 233 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), LastPreSafety(), PrepareNewTrack(), PushPostSafetyToPreSafety(), and ReLocate().
Definition at line 234 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), LastPreSafety(), PrepareNewTrack(), and PushPostSafetyToPreSafety().
|
private |
Definition at line 243 of file G4PathFinder.hh.
Referenced by DoNextCurvedStep(), DoNextLinearStep(), and G4PathFinder().
|
private |
Definition at line 237 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 257 of file G4PathFinder.hh.
Referenced by ComputeStep(), Locate(), MovePoint(), PrepareNewTrack(), and ReLocate().
|
private |
Definition at line 263 of file G4PathFinder.hh.
Referenced by ComputeSafety(), G4PathFinder(), ObtainSafety(), PushPostSafetyToPreSafety(), and ReLocate().
|
private |
Definition at line 246 of file G4PathFinder.hh.
Referenced by ComputeStep(), DoNextCurvedStep(), DoNextLinearStep(), G4PathFinder(), 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().