Geant4  10.04.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4VIntersectionLocator Class Referenceabstract
Inheritance diagram for G4VIntersectionLocator:
G4BrentLocator G4MultiLevelLocator G4SimpleLocator

Public Member Functions

 G4VIntersectionLocator (G4Navigator *theNavigator)
 
virtual ~G4VIntersectionLocator ()
 
virtual G4bool EstimateIntersectionPoint (const G4FieldTrack &curveStartPointTangent, const G4FieldTrack &curveEndPointTangent, const G4ThreeVector &trialPoint, G4FieldTrack &intersectPointTangent, G4bool &recalculatedEndPoint, G4double &fPreviousSafety, G4ThreeVector &fPreviousSftOrigin)=0
 
void printStatus (const G4FieldTrack &startFT, const G4FieldTrack &currentFT, G4double requestStep, G4double safety, G4int stepNum)
 
G4bool IntersectChord (const G4ThreeVector &StartPointA, const G4ThreeVector &EndPointB, G4double &NewSafety, G4double &PreviousSafety, G4ThreeVector &PreviousSftOrigin, G4double &LinearStepLength, G4ThreeVector &IntersectionPoint, G4bool *calledNavigator=0)
 
void SetEpsilonStepFor (G4double EpsilonStep)
 
void SetDeltaIntersectionFor (G4double deltaIntersection)
 
void SetNavigatorFor (G4Navigator *fNavigator)
 
void SetChordFinderFor (G4ChordFinder *fCFinder)
 
void SetVerboseFor (G4int fVerbose)
 
G4int GetVerboseFor ()
 
G4double GetDeltaIntersectionFor ()
 
G4double GetEpsilonStepFor ()
 
G4NavigatorGetNavigatorFor ()
 
G4ChordFinderGetChordFinderFor ()
 
void SetSafetyParametersFor (G4bool UseSafety)
 
void AddAdjustementOfFoundIntersection (G4bool UseCorrection)
 
G4bool GetAdjustementOfFoundIntersection ()
 
void AdjustIntersections (G4bool UseCorrection)
 
G4bool AreIntersectionsAdjusted ()
 

Static Public Member Functions

static void printStatus (const G4FieldTrack &startFT, const G4FieldTrack &currentFT, 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)
 

Protected Attributes

G4double kCarTolerance
 
G4int fVerboseLevel
 
G4bool fUseNormalCorrection
 
G4bool fCheckMode
 
G4NavigatorfiNavigator
 
G4ChordFinderfiChordFinder
 
G4double fiEpsilonStep
 
G4double fiDeltaIntersection
 
G4bool fiUseSafety
 
G4NavigatorfHelpingNavigator
 
G4TouchableHistoryfpTouchable
 

Private Member Functions

G4ThreeVector GetLocalSurfaceNormal (const G4ThreeVector &CurrentE_Point, G4bool &validNormal)
 
G4ThreeVector GetLastSurfaceNormal (const G4ThreeVector &intersectPoint, G4bool &validNormal) const
 

Constructor & Destructor Documentation

G4VIntersectionLocator ( G4Navigator theNavigator)
virtual ~G4VIntersectionLocator ( )
virtual

Member Function Documentation

virtual G4bool EstimateIntersectionPoint ( const G4FieldTrack curveStartPointTangent,
const G4FieldTrack curveEndPointTangent,
const G4ThreeVector trialPoint,
G4FieldTrack intersectPointTangent,
G4bool recalculatedEndPoint,
G4double fPreviousSafety,
G4ThreeVector fPreviousSftOrigin 
)
pure virtual
void printStatus ( const G4FieldTrack startFT,
const G4FieldTrack currentFT,
G4double  requestStep,
G4double  safety,
G4int  stepNum 
)
G4bool IntersectChord ( const G4ThreeVector StartPointA,
const G4ThreeVector EndPointB,
G4double NewSafety,
G4double PreviousSafety,
G4ThreeVector PreviousSftOrigin,
G4double LinearStepLength,
G4ThreeVector IntersectionPoint,
G4bool calledNavigator = 0 
)
void SetEpsilonStepFor ( G4double  EpsilonStep)
void SetDeltaIntersectionFor ( G4double  deltaIntersection)
void SetNavigatorFor ( G4Navigator fNavigator)
void SetChordFinderFor ( G4ChordFinder fCFinder)
void SetVerboseFor ( G4int  fVerbose)
G4int GetVerboseFor ( )
G4double GetDeltaIntersectionFor ( )
G4double GetEpsilonStepFor ( )
G4Navigator* GetNavigatorFor ( )
G4ChordFinder* GetChordFinderFor ( )
void SetSafetyParametersFor ( G4bool  UseSafety)
void AddAdjustementOfFoundIntersection ( G4bool  UseCorrection)
G4bool GetAdjustementOfFoundIntersection ( )
void AdjustIntersections ( G4bool  UseCorrection)
G4bool AreIntersectionsAdjusted ( )

References fUseNormalCorrection.

static void printStatus ( const G4FieldTrack startFT,
const G4FieldTrack currentFT,
G4double  requestStep,
G4double  safety,
G4int  stepNum,
std::ostream &  oss,
G4int  verboseLevel 
)
static
G4FieldTrack ReEstimateEndpoint ( const G4FieldTrack CurrentStateA,
const G4FieldTrack EstimtdEndStateB,
G4double  linearDistSq,
G4double  curveDist 
)
protected
G4bool CheckAndReEstimateEndpoint ( const G4FieldTrack CurrentStartA,
const G4FieldTrack EstimatedEndB,
G4FieldTrack RevisedEndPoint,
G4int errorCode 
)
protected
G4ThreeVector GetSurfaceNormal ( const G4ThreeVector CurrentInt_Point,
G4bool validNormal 
)
protected
G4ThreeVector GetGlobalSurfaceNormal ( const G4ThreeVector CurrentE_Point,
G4bool validNormal 
)
protected
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 
)
protected
void ReportTrialStep ( G4int  step_no,
const G4ThreeVector ChordAB_v,
const G4ThreeVector ChordEF_v,
const G4ThreeVector NewMomentumDir,
const G4ThreeVector NormalAtEntry,
G4bool  validNormal 
)
protected
G4bool LocateGlobalPointWithinVolumeAndCheck ( const G4ThreeVector pos)
protected
void LocateGlobalPointWithinVolumeCheckAndReport ( const G4ThreeVector pos,
const G4String CodeLocationInfo,
G4int  CheckMode 
)
protected
void SetCheckMode ( G4bool  value)
protected

References fCheckMode.

G4bool GetCheckMode ( )
protected

References fCheckMode.

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 
)
protected
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 
)
protected
void ReportImmediateHit ( const char *  MethodName,
const G4ThreeVector StartPosition,
const G4ThreeVector TrialPoint,
double  tolerance,
unsigned long int  numCalls 
)
protected
G4ThreeVector GetLocalSurfaceNormal ( const G4ThreeVector CurrentE_Point,
G4bool validNormal 
)
private
G4ThreeVector GetLastSurfaceNormal ( const G4ThreeVector intersectPoint,
G4bool validNormal 
) const
private

Member Data Documentation

G4double kCarTolerance
protected
G4int fVerboseLevel
protected
G4bool fUseNormalCorrection
protected
G4bool fCheckMode
protected

Referenced by GetCheckMode(), and SetCheckMode().

G4Navigator* fiNavigator
protected
G4ChordFinder* fiChordFinder
protected
G4double fiEpsilonStep
protected
G4double fiDeltaIntersection
protected
G4bool fiUseSafety
protected
G4Navigator* fHelpingNavigator
protected
G4TouchableHistory* fpTouchable
protected