Geant4
10.01.p03
|
#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 | |
G4FieldTrack | ReEstimateEndpoint (const G4FieldTrack &CurrentStateA, const G4FieldTrack &EstimtdEndStateB, G4double linearDistSq, G4double curveDist) |
G4bool | CheckAndReEstimateEndpoint (const G4FieldTrack &CurrentStartA, const G4FieldTrack &EstimatedEndB, G4FieldTrack &RevisedEndPoint, G4int &errorCode) |
G4ThreeVector | GetSurfaceNormal (const G4ThreeVector &CurrentInt_Point, G4bool &validNormal) |
G4ThreeVector | GetGlobalSurfaceNormal (const G4ThreeVector &CurrentE_Point, G4bool &validNormal) |
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) |
void | ReportTrialStep (G4int step_no, const G4ThreeVector &ChordAB_v, const G4ThreeVector &ChordEF_v, const G4ThreeVector &NewMomentumDir, const G4ThreeVector &NormalAtEntry, G4bool validNormal) |
G4bool | LocateGlobalPointWithinVolumeAndCheck (const G4ThreeVector &pos) |
void | LocateGlobalPointWithinVolumeCheckAndReport (const G4ThreeVector &pos, const G4String &CodeLocationInfo, G4int CheckMode) |
void | SetCheckMode (G4bool value) |
G4bool | GetCheckMode () |
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 | 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 | ReportImmediateHit (const char *MethodName, const G4ThreeVector &StartPosition, const G4ThreeVector &TrialPoint, double tolerance, unsigned long int numCalls) |
Private Member Functions | |
G4ThreeVector | GetLocalSurfaceNormal (const G4ThreeVector &CurrentE_Point, G4bool &validNormal) |
G4ThreeVector | GetLastSurfaceNormal (const G4ThreeVector &intersectPoint, G4bool &validNormal) const |
Definition at line 56 of file G4VIntersectionLocator.hh.
G4VIntersectionLocator::G4VIntersectionLocator | ( | G4Navigator * | theNavigator | ) |
Definition at line 47 of file G4VIntersectionLocator.cc.
References fHelpingNavigator, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), and kCarTolerance.
|
virtual |
Definition at line 66 of file G4VIntersectionLocator.cc.
References fHelpingNavigator, and fpTouchable.
|
inline |
|
inline |
|
protected |
Definition at line 441 of file G4VIntersectionLocator.cc.
References fVerboseLevel, G4cerr, G4endl, GetGlobalSurfaceNormal(), GetNavigatorFor(), IntersectChord(), kCarTolerance, G4InuclParticleNames::lambda, and G4Navigator::LocateGlobalPointWithinVolume().
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), and G4SimpleLocator::EstimateIntersectionPoint().
|
inline |
Definition at line 126 of file G4VIntersectionLocator.hh.
References fUseNormalCorrection.
|
protected |
Definition at line 326 of file G4VIntersectionLocator.cc.
References fiEpsilonStep, G4Exception(), G4FieldTrack::GetCurveLength(), G4FieldTrack::GetPosition(), JustWarning, and ReEstimateEndpoint().
Referenced by G4MultiLevelLocator::EstimateIntersectionPoint().
|
pure virtual |
Implemented in G4SimpleLocator, G4MultiLevelLocator, and G4BrentLocator.
|
inline |
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), and G4SimpleLocator::EstimateIntersectionPoint().
|
inlineprotected |
Definition at line 210 of file G4VIntersectionLocator.hh.
References fCheckMode.
Referenced by LocateGlobalPointWithinVolumeCheckAndReport().
|
inline |
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), G4SimpleLocator::EstimateIntersectionPoint(), and ReEstimateEndpoint().
|
inline |
Referenced by G4BrentLocator::EstimateIntersectionPoint().
|
inline |
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), G4SimpleLocator::EstimateIntersectionPoint(), and ReEstimateEndpoint().
|
protected |
Definition at line 566 of file G4VIntersectionLocator.cc.
References fHelpingNavigator, G4endl, G4Exception(), GetLocalSurfaceNormal(), G4Navigator::GetLocalToGlobalTransform(), JustWarning, G4AffineTransform::NetRotation(), G4AffineTransform::NetTranslation(), perThousand, and G4AffineTransform::TransformAxis().
Referenced by AdjustmentOfFoundIntersection().
|
private |
Definition at line 608 of file G4VIntersectionLocator.cc.
References fiNavigator, and G4Navigator::GetGlobalExitNormal().
Referenced by GetSurfaceNormal().
|
private |
Definition at line 383 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(), perThousand, G4Navigator::SetWorldVolume(), G4VSolid::SurfaceNormal(), and G4AffineTransform::TransformPoint().
Referenced by GetGlobalSurfaceNormal().
|
inline |
Referenced by AdjustmentOfFoundIntersection(), G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), G4SimpleLocator::EstimateIntersectionPoint(), GetLocalSurfaceNormal(), and LocateGlobalPointWithinVolumeAndCheck().
|
protected |
Definition at line 521 of file G4VIntersectionLocator.cc.
References G4endl, G4Exception(), GetLastSurfaceNormal(), JustWarning, and perThousand.
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), and G4SimpleLocator::EstimateIntersectionPoint().
|
inline |
|
inline |
Referenced by AdjustmentOfFoundIntersection(), G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), and G4SimpleLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 682 of file G4VIntersectionLocator.cc.
References G4Navigator::CheckMode(), G4Navigator::CreateTouchableHistoryHandle(), G4VSolid::DistanceToIn(), fCheckMode, G4cerr, G4endl, G4VPhysicalVolume::GetCopyNo(), G4Navigator::GetGlobalToLocalTransform(), GetNavigatorFor(), G4VSolid::Inside(), G4Navigator::IsCheckModeActive(), kInside, kSurface, G4Navigator::LocateGlobalPointAndSetup(), G4Navigator::LocateGlobalPointWithinVolume(), and G4AffineTransform::TransformPoint().
Referenced by LocateGlobalPointWithinVolumeCheckAndReport().
|
protected |
Definition at line 741 of file G4VIntersectionLocator.cc.
References G4cerr, G4endl, GetCheckMode(), LocateGlobalPointWithinVolumeAndCheck(), and SetCheckMode().
void G4VIntersectionLocator::printStatus | ( | const G4FieldTrack & | startFT, |
const G4FieldTrack & | currentFT, | ||
G4double | requestStep, | ||
G4double | safety, | ||
G4int | stepNum | ||
) |
Definition at line 77 of file G4VIntersectionLocator.cc.
References fVerboseLevel, and G4cout.
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), G4SimpleLocator::EstimateIntersectionPoint(), printStatus(), ReportProgress(), and ReportReversedPoints().
|
static |
Definition at line 93 of file G4VIntersectionLocator.cc.
References G4endl, G4FieldTrack::GetCurveLength(), G4FieldTrack::GetMomentum(), G4FieldTrack::GetMomentumDir(), G4FieldTrack::GetPosition(), and printStatus().
|
protected |
Definition at line 191 of file G4VIntersectionLocator.cc.
References G4MagInt_Driver::AccurateAdvance(), fVerboseLevel, G4cout, G4endl, G4Exception(), G4ThreadLocal, GetChordFinderFor(), G4FieldTrack::GetCurveLength(), GetEpsilonStepFor(), G4ChordFinder::GetIntegrationDriver(), G4FieldTrack::GetPosition(), JustWarning, and kCarTolerance.
Referenced by CheckAndReEstimateEndpoint(), G4BrentLocator::EstimateIntersectionPoint(), and G4SimpleLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 848 of file G4VIntersectionLocator.cc.
References DBL_MAX, G4cout, G4endl, G4ThreadLocal, and G4AutoDelete::Register().
Referenced by G4MultiLevelLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 814 of file G4VIntersectionLocator.cc.
References G4endl, and printStatus().
Referenced by G4MultiLevelLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 767 of file G4VIntersectionLocator.cc.
References G4endl, G4FieldTrack::GetCurveLength(), and printStatus().
Referenced by G4MultiLevelLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 623 of file G4VIntersectionLocator.cc.
References G4cerr, G4cout, G4endl, and perThousand.
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), and G4SimpleLocator::EstimateIntersectionPoint().
|
inlineprotected |
Definition at line 209 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 264 of file G4VIntersectionLocator.hh.
Referenced by GetCheckMode(), LocateGlobalPointWithinVolumeAndCheck(), and SetCheckMode().
|
protected |
Definition at line 275 of file G4VIntersectionLocator.hh.
Referenced by G4VIntersectionLocator(), GetGlobalSurfaceNormal(), GetLocalSurfaceNormal(), and ~G4VIntersectionLocator().
|
protected |
Definition at line 268 of file G4VIntersectionLocator.hh.
|
protected |
Definition at line 270 of file G4VIntersectionLocator.hh.
Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), and G4SimpleLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 269 of file G4VIntersectionLocator.hh.
Referenced by CheckAndReEstimateEndpoint(), and G4MultiLevelLocator::EstimateIntersectionPoint().
|
protected |
Definition at line 266 of file G4VIntersectionLocator.hh.
Referenced by GetLastSurfaceNormal().
|
protected |
Definition at line 271 of file G4VIntersectionLocator.hh.
|
protected |
Definition at line 278 of file G4VIntersectionLocator.hh.
Referenced by GetLocalSurfaceNormal(), and ~G4VIntersectionLocator().
|
protected |
Definition at line 263 of file G4VIntersectionLocator.hh.
Referenced by AreIntersectionsAdjusted().
|
protected |
Definition at line 262 of file G4VIntersectionLocator.hh.
Referenced by AdjustmentOfFoundIntersection(), G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), G4SimpleLocator::EstimateIntersectionPoint(), printStatus(), ReEstimateEndpoint(), and G4BrentLocator::~G4BrentLocator().
|
protected |
Definition at line 260 of file G4VIntersectionLocator.hh.
Referenced by AdjustmentOfFoundIntersection(), G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), G4SimpleLocator::EstimateIntersectionPoint(), G4VIntersectionLocator(), GetLocalSurfaceNormal(), and ReEstimateEndpoint().