57 const G4double pCurrentProposedStepLength,
63 pCurrentProposedStepLength,
69 if ( g4edata !=
nullptr )
72 if( target !=
nullptr )
83 G4cout <<
"G4ErrorPropagationNavigator::ComputeStep()" <<
G4endl
84 <<
" Target step: " << StepPlane
85 <<
", Transportation step: " << Step <<
G4endl;
86 target->
Dump(
"G4ErrorPropagationNavigator::ComputeStep Target " );
90 if( StepPlane < Step )
95 G4cout <<
"G4ErrorPropagationNavigator::ComputeStep()" <<
G4endl
96 <<
" TargetCloserThanBoundary: " << StepPlane <<
" < "
113 pNewSafety = std::min(safetyGeom, safetyTarget);
118 G4cout <<
"G4ErrorPropagationNavigator::ComputeStep()" <<
G4endl
119 <<
" Step: " << Step <<
", ComputeSafety: " << pNewSafety
137 if ( g4edata !=
nullptr )
140 if( target !=
nullptr )
156 pMaxLength, keepState);
160 return std::min(safetyGeom, safetyTarget);
176 if ( g4edata !=
nullptr )
179 if( target !=
nullptr )
202 G4Exception(
"G4ErrorPropagationNavigator::GetGlobalExitNormal",
209 normal = surfTarget->GetTangentPlane(point).normal().
unit();
@ G4ErrorState_TargetCloserThanBoundary
@ G4ErrorState_Propagating
@ G4ErrorTarget_PlaneSurface
@ G4ErrorTarget_CylindricalSurface
@ G4ErrorTarget_GeomVolume
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
G4double ComputeStep(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety) override
G4ErrorPropagationNavigator()
G4double TargetSafetyFromPoint(const G4ThreeVector &pGlobalpoint)
G4ThreeVector GetGlobalExitNormal(const G4ThreeVector &point, G4bool *valid) override
G4double ComputeSafety(const G4ThreeVector &globalpoint, const G4double pProposedMaxLength=DBL_MAX, const G4bool keepState=true) override
~G4ErrorPropagationNavigator() override
static G4ErrorPropagatorData * GetErrorPropagatorData()
const G4ErrorTarget * GetTarget(G4bool mustExist=false) const
void SetState(G4ErrorState sta)
virtual void Dump(const G4String &msg) const =0
G4ErrorTargetType GetType() const
virtual G4double GetDistanceFromPoint(const G4ThreeVector &, const G4ThreeVector &) const
virtual G4double ComputeSafety(const G4ThreeVector &globalpoint, const G4double pProposedMaxLength=DBL_MAX, const G4bool keepState=true)
virtual G4ThreeVector GetGlobalExitNormal(const G4ThreeVector &point, G4bool *valid)
virtual G4double ComputeStep(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety)