46 #ifndef G4VINTERSECTIONLOCATOR_HH
47 #define G4VINTERSECTIONLOCATOR_HH
70 G4bool& recalculatedEndPoint,
93 G4bool *calledNavigator=0 );
182 G4bool &validNormal)
const;
G4FieldTrack ReEstimateEndpoint(const G4FieldTrack &CurrentStateA, const G4FieldTrack &EstimtdEndStateB, G4double linearDistSq, G4double curveDist)
CLHEP::Hep3Vector G4ThreeVector
G4ThreeVector GetGlobalSurfaceNormal(const G4ThreeVector &CurrentE_Point, G4bool &validNormal)
G4ThreeVector GetSurfaceNormal(const G4ThreeVector &CurrentInt_Point, G4bool &validNormal)
G4bool IntersectChord(const G4ThreeVector &StartPointA, const G4ThreeVector &EndPointB, G4double &NewSafety, G4double &PreviousSafety, G4ThreeVector &PreviousSftOrigin, G4double &LinearStepLength, G4ThreeVector &IntersectionPoint, G4bool *calledNavigator=0)
G4ThreeVector GetLastSurfaceNormal(const G4ThreeVector &intersectPoint, G4bool &validNormal) const
G4bool AreIntersectionsAdjusted()
G4Navigator * fiNavigator
void SetChordFinderFor(G4ChordFinder *fCFinder)
G4double GetEpsilonStepFor()
virtual ~G4VIntersectionLocator()
void AdjustIntersections(G4bool UseCorrection)
void ReportTrialStep(G4int step_no, const G4ThreeVector &ChordAB_v, const G4ThreeVector &ChordEF_v, const G4ThreeVector &NewMomentumDir, const G4ThreeVector &NormalAtEntry, G4bool validNormal)
static const G4double A[nN]
G4Navigator * GetNavigatorFor()
G4bool fUseNormalCorrection
void SetVerboseFor(G4int fVerbose)
#define fPreviousSftOrigin
G4Navigator * fHelpingNavigator
G4double GetDeltaIntersectionFor()
G4VIntersectionLocator(G4Navigator *theNavigator)
void AddAdjustementOfFoundIntersection(G4bool UseCorrection)
void printStatus(const G4FieldTrack &startFT, const G4FieldTrack ¤tFT, G4double requestStep, G4double safety, G4int step)
G4bool GetAdjustementOfFoundIntersection()
G4ThreeVector GetLocalSurfaceNormal(const G4ThreeVector &CurrentE_Point, G4bool &validNormal)
void SetNavigatorFor(G4Navigator *fNavigator)
void SetSafetyParametersFor(G4bool UseSafety)
virtual G4bool EstimateIntersectionPoint(const G4FieldTrack &curveStartPointTangent, const G4FieldTrack &curveEndPointTangent, const G4ThreeVector &trialPoint, G4FieldTrack &intersectPointTangent, G4bool &recalculatedEndPoint, G4double &fPreviousSafety, G4ThreeVector &fPreviousSftOrigin)=0
G4TouchableHistory * fpTouchable
G4double fiDeltaIntersection
void SetEpsilonStepFor(G4double EpsilonStep)
G4ChordFinder * GetChordFinderFor()
G4ChordFinder * fiChordFinder
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 SetDeltaIntersectionFor(G4double deltaIntersection)