Geant4-11
|
#include <G4VIntersectionLocator.hh>
Static Public Member Functions | |
static void | printStatus (const G4FieldTrack &startFT, const G4FieldTrack ¤tFT, G4double requestStep, G4double safety, G4int stepNum, std::ostream &oss, G4int verboseLevel) |
Protected Member Functions | |
G4bool | AdjustmentOfFoundIntersection (const G4ThreeVector &A, const G4ThreeVector &CurrentE_Point, const G4ThreeVector &CurrentF_Point, const G4ThreeVector &MomentumDir, const G4bool IntersectAF, G4ThreeVector &IntersectionPoint, G4double &NewSafety, G4double &fPrevSafety, G4ThreeVector &fPrevSftOrigin) |
G4bool | CheckAndReEstimateEndpoint (const G4FieldTrack &CurrentStartA, const G4FieldTrack &EstimatedEndB, G4FieldTrack &RevisedEndPoint, G4int &errorCode) |
G4ThreeVector | GetGlobalSurfaceNormal (const G4ThreeVector &CurrentE_Point, G4bool &validNormal) |
G4ThreeVector | GetSurfaceNormal (const G4ThreeVector &CurrentInt_Point, G4bool &validNormal) |
G4bool | LocateGlobalPointWithinVolumeAndCheck (const G4ThreeVector &pos) |
void | LocateGlobalPointWithinVolumeCheckAndReport (const G4ThreeVector &pos, const G4String &CodeLocationInfo, G4int CheckMode) |
G4FieldTrack | ReEstimateEndpoint (const G4FieldTrack &CurrentStateA, const G4FieldTrack &EstimtdEndStateB, G4double linearDistSq, G4double curveDist) |
void | ReportImmediateHit (const char *MethodName, const G4ThreeVector &StartPosition, const G4ThreeVector &TrialPoint, G4double tolerance, unsigned long int numCalls) |
void | ReportProgress (std::ostream &oss, const G4FieldTrack &StartPointVel, const G4FieldTrack &EndPointVel, G4int substep_no, const G4FieldTrack &A_PtVel, const G4FieldTrack &B_PtVel, G4double safetyLast, G4int depth=-1) |
void | ReportReversedPoints (std::ostringstream &ossMsg, const G4FieldTrack &StartPointVel, const G4FieldTrack &EndPointVel, G4double NewSafety, G4double epsStep, const G4FieldTrack &CurrentA_PointVelocity, const G4FieldTrack &CurrentB_PointVelocity, const G4FieldTrack &SubStart_PointVelocity, const G4ThreeVector &CurrentE_Point, const G4FieldTrack &ApproxIntersecPointV, G4int sbstp_no, G4int sbstp_no_p, G4int depth) |
void | ReportTrialStep (G4int step_no, const G4ThreeVector &ChordAB_v, const G4ThreeVector &ChordEF_v, const G4ThreeVector &NewMomentumDir, const G4ThreeVector &NormalAtEntry, G4bool validNormal) |
Protected Attributes | |
G4bool | fCheckMode = false |
G4Navigator * | fHelpingNavigator |
G4ChordFinder * | fiChordFinder = nullptr |
G4double | fiDeltaIntersection = -1.0 |
G4double | fiEpsilonStep = -1.0 |
G4Navigator * | fiNavigator |
G4bool | fiUseSafety = false |
G4TouchableHistory * | fpTouchable = nullptr |
G4bool | fUseNormalCorrection = false |
G4int | fVerboseLevel = 0 |
G4double | kCarTolerance |
Private Member Functions | |
G4ThreeVector | GetLastSurfaceNormal (const G4ThreeVector &intersectPoint, G4bool &validNormal) const |
G4ThreeVector | GetLocalSurfaceNormal (const G4ThreeVector &CurrentE_Point, G4bool &validNormal) |
Definition at line 49 of file G4VIntersectionLocator.hh.
G4VIntersectionLocator::G4VIntersectionLocator | ( | G4Navigator * | theNavigator | ) |
Definition at line 45 of file G4VIntersectionLocator.cc.
References G4Navigator::Clone(), fHelpingNavigator, fiNavigator, G4Navigator::GetExternalNavigation(), G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), and kCarTolerance.
|
virtual |
Definition at line 64 of file G4VIntersectionLocator.cc.
References fHelpingNavigator, and fpTouchable.
|
inline |
|
inline |
|
protected |
Definition at line 439 of file G4VIntersectionLocator.cc.
References CLHEP::Hep3Vector::dot(), fPreviousSafety, fPreviousSftOrigin, fVerboseLevel, G4Exception(), GetGlobalSurfaceNormal(), GetNavigatorFor(), IntersectChord(), JustWarning, kCarTolerance, G4InuclParticleNames::lambda, and G4Navigator::LocateGlobalPointWithinVolume().
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), and G4SimpleLocator::EstimateIntersectionPoint().
|
inline |
Definition at line 118 of file G4VIntersectionLocator.hh.
References fUseNormalCorrection.
|
protected |
Definition at line 329 of file G4VIntersectionLocator.cc.
References fiEpsilonStep, G4Exception(), G4FieldTrack::GetCurveLength(), G4FieldTrack::GetPosition(), JustWarning, and ReEstimateEndpoint().
Referenced by G4MultiLevelLocator::EstimateIntersectionPoint().
|
pure virtual |
Implemented in G4BrentLocator, G4MultiLevelLocator, and G4SimpleLocator.
|
inline |
|
inline |
Definition at line 131 of file G4VIntersectionLocator.hh.
References fCheckMode.
Referenced by LocateGlobalPointWithinVolumeCheckAndReport().
|
inline |
|
inline |
Referenced by G4BrentLocator::EstimateIntersectionPoint().
|
inline |
|
protected |
Definition at line 563 of file G4VIntersectionLocator.cc.
References fHelpingNavigator, G4endl, G4Exception(), GetLocalSurfaceNormal(), G4Navigator::GetLocalToGlobalTransform(), JustWarning, CLHEP::Hep3Vector::mag2(), G4AffineTransform::NetRotation(), G4AffineTransform::NetTranslation(), perThousand, and G4AffineTransform::TransformAxis().
Referenced by AdjustmentOfFoundIntersection().
|
private |
Definition at line 602 of file G4VIntersectionLocator.cc.
References fiNavigator, and G4Navigator::GetGlobalExitNormal().
Referenced by GetSurfaceNormal().
|
private |
Definition at line 384 of file G4VIntersectionLocator.cc.
References G4Navigator::CreateTouchableHistory(), G4VSolid::DistanceToOut(), fHelpingNavigator, fpTouchable, G4cerr, G4endl, G4TouchableHistory::GetHistory(), G4VPhysicalVolume::GetLogicalVolume(), GetNavigatorFor(), G4LogicalVolume::GetSolid(), G4NavigationHistory::GetTopTransform(), G4VSolid::Inside(), kCarTolerance, kSurface, G4Navigator::LocateGlobalPointAndSetup(), CLHEP::Hep3Vector::mag(), CLHEP::Hep3Vector::mag2(), CLHEP::perThousand, G4Navigator::SetWorldVolume(), G4VSolid::SurfaceNormal(), and G4AffineTransform::TransformPoint().
Referenced by GetGlobalSurfaceNormal().
|
inline |
|
protected |
Definition at line 518 of file G4VIntersectionLocator.cc.
References G4endl, G4Exception(), GetLastSurfaceNormal(), JustWarning, CLHEP::Hep3Vector::mag(), CLHEP::Hep3Vector::mag2(), and perThousand.
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), and G4SimpleLocator::EstimateIntersectionPoint().
|
inline |
|
inline |
|
protected |
Definition at line 674 of file G4VIntersectionLocator.cc.
References G4Navigator::CheckMode(), G4Navigator::CreateTouchableHistoryHandle(), G4VSolid::DistanceToIn(), fCheckMode, G4endl, G4Exception(), G4VPhysicalVolume::GetCopyNo(), G4Navigator::GetGlobalToLocalTransform(), GetNavigatorFor(), G4VSolid::Inside(), G4Navigator::IsCheckModeActive(), JustWarning, kInside, kSurface, G4Navigator::LocateGlobalPointAndSetup(), G4Navigator::LocateGlobalPointWithinVolume(), and G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform().
Referenced by LocateGlobalPointWithinVolumeCheckAndReport().
|
protected |
Definition at line 736 of file G4VIntersectionLocator.cc.
References G4endl, G4Exception(), GetCheckMode(), JustWarning, LocateGlobalPointWithinVolumeAndCheck(), and SetCheckMode().
void G4VIntersectionLocator::printStatus | ( | const G4FieldTrack & | startFT, |
const G4FieldTrack & | currentFT, | ||
G4double | requestStep, | ||
G4double | safety, | ||
G4int | stepNum | ||
) |
Definition at line 75 of file G4VIntersectionLocator.cc.
References fVerboseLevel, G4cout, and printStatus().
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), G4SimpleLocator::EstimateIntersectionPoint(), printStatus(), ReportProgress(), and ReportReversedPoints().
|
static |
Definition at line 91 of file G4VIntersectionLocator.cc.
References G4endl, G4FieldTrack::GetCurveLength(), G4FieldTrack::GetMomentum(), G4FieldTrack::GetMomentumDir(), G4FieldTrack::GetPosition(), CLHEP::Hep3Vector::mag(), printStatus(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
|
protected |
Definition at line 188 of file G4VIntersectionLocator.cc.
References fVerboseLevel, G4cout, G4endl, G4Exception(), GetChordFinderFor(), G4FieldTrack::GetCurveLength(), GetEpsilonStepFor(), G4ChordFinder::GetIntegrationDriver(), G4FieldTrack::GetPosition(), JustWarning, kCarTolerance, and CLHEP::Hep3Vector::mag().
Referenced by CheckAndReEstimateEndpoint(), G4BrentLocator::EstimateIntersectionPoint(), and G4SimpleLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 845 of file G4VIntersectionLocator.cc.
References DBL_MAX, G4cout, G4endl, G4ThreadLocal, and G4AutoDelete::Register().
Referenced by G4MultiLevelLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 813 of file G4VIntersectionLocator.cc.
References G4endl, and printStatus().
Referenced by G4MultiLevelLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 761 of file G4VIntersectionLocator.cc.
References G4endl, G4FieldTrack::GetCurveLength(), CLHEP::millimeter, and printStatus().
Referenced by G4MultiLevelLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 618 of file G4VIntersectionLocator.cc.
References CLHEP::Hep3Vector::dot(), G4cout, G4endl, G4Exception(), JustWarning, CLHEP::Hep3Vector::mag(), CLHEP::Hep3Vector::mag2(), and perThousand.
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), and G4SimpleLocator::EstimateIntersectionPoint().
|
inline |
Definition at line 130 of file G4VIntersectionLocator.hh.
References fCheckMode.
Referenced by LocateGlobalPointWithinVolumeCheckAndReport().
|
inline |
Referenced by G4PropagatorInField::RefreshIntersectionLocator().
|
inline |
Referenced by G4PropagatorInField::RefreshIntersectionLocator().
|
inline |
Referenced by G4PropagatorInField::RefreshIntersectionLocator().
|
inline |
Referenced by G4ErrorPropagatorManager::StartNavigator().
|
inline |
Referenced by G4PropagatorInField::RefreshIntersectionLocator().
|
inline |
|
protected |
Definition at line 256 of file G4VIntersectionLocator.hh.
Referenced by G4MultiLevelLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::G4MultiLevelLocator(), GetCheckMode(), LocateGlobalPointWithinVolumeAndCheck(), and SetCheckMode().
|
protected |
Definition at line 267 of file G4VIntersectionLocator.hh.
Referenced by G4VIntersectionLocator(), GetGlobalSurfaceNormal(), GetLocalSurfaceNormal(), and ~G4VIntersectionLocator().
|
protected |
Definition at line 261 of file G4VIntersectionLocator.hh.
|
protected |
Definition at line 263 of file G4VIntersectionLocator.hh.
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), and G4SimpleLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 262 of file G4VIntersectionLocator.hh.
Referenced by CheckAndReEstimateEndpoint(), and G4MultiLevelLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 259 of file G4VIntersectionLocator.hh.
Referenced by G4VIntersectionLocator(), and GetLastSurfaceNormal().
|
protected |
Definition at line 257 of file G4VIntersectionLocator.hh.
|
protected |
Definition at line 270 of file G4VIntersectionLocator.hh.
Referenced by GetLocalSurfaceNormal(), and ~G4VIntersectionLocator().
|
protected |
Definition at line 255 of file G4VIntersectionLocator.hh.
Referenced by AreIntersectionsAdjusted().
|
protected |
Definition at line 254 of file G4VIntersectionLocator.hh.
Referenced by AdjustmentOfFoundIntersection(), G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), G4SimpleLocator::EstimateIntersectionPoint(), printStatus(), and ReEstimateEndpoint().
|
protected |
Definition at line 252 of file G4VIntersectionLocator.hh.
Referenced by AdjustmentOfFoundIntersection(), G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), G4SimpleLocator::EstimateIntersectionPoint(), G4VIntersectionLocator(), GetLocalSurfaceNormal(), and ReEstimateEndpoint().