Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VExternalNavigation Class Referenceabstract

G4VExternalNavigation is a pure virtual class to be specialised by the user for tracking with an external navigation. More...

#include <G4VExternalNavigation.hh>

Inheritance diagram for G4VExternalNavigation:

Public Member Functions

 G4VExternalNavigation ()
 ~G4VExternalNavigation () override
virtual G4VExternalNavigationClone ()=0
virtual EInside Inside (const G4VSolid *solid, const G4ThreeVector &position, const G4ThreeVector &direction)
void RelocateWithinVolume (G4VPhysicalVolume *motherPhysical, const G4ThreeVector &localPoint) override
Public Member Functions inherited from G4VNavigation
virtual ~G4VNavigation ()=default
virtual G4bool LevelLocate (G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint)=0
virtual G4double ComputeStep (const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double currentProposedStepLength, G4double &newSafety, G4NavigationHistory &history, G4bool &validExitNormal, G4ThreeVector &exitNormal, G4bool &exiting, G4bool &entering, G4VPhysicalVolume *(*pBlockedPhysical), G4int &blockedReplicaNo)=0
virtual G4double ComputeSafety (const G4ThreeVector &localpoint, const G4NavigationHistory &history, const G4double pMaxLength=DBL_MAX)=0
virtual G4int GetVerboseLevel () const
virtual void SetVerboseLevel (G4int level)
void CheckMode (G4bool mode)

Additional Inherited Members

Protected Attributes inherited from G4VNavigation
G4int fVerbose = 0
G4bool fCheck = false

Detailed Description

G4VExternalNavigation is a pure virtual class to be specialised by the user for tracking with an external navigation.

Definition at line 50 of file G4VExternalNavigation.hh.

Constructor & Destructor Documentation

◆ G4VExternalNavigation()

G4VExternalNavigation::G4VExternalNavigation ( )
default

Constructor and Destructor.

Referenced by Clone().

◆ ~G4VExternalNavigation()

G4VExternalNavigation::~G4VExternalNavigation ( )
overridedefault

Member Function Documentation

◆ Clone()

virtual G4VExternalNavigation * G4VExternalNavigation::Clone ( )
pure virtual

Cloning method, pure virtual.

◆ Inside()

EInside G4VExternalNavigation::Inside ( const G4VSolid * solid,
const G4ThreeVector & position,
const G4ThreeVector & direction )
virtual

Special 'Inside' call that includes direction of next motion. Provided for potential optimisations.

Parameters
[in]solidSolid to be considered.
[in]positionPoint to be checked.
[in]directionNot used.
Returns
Whether the point is inside the solid or not.

Definition at line 49 of file G4VExternalNavigation.cc.

53{
54 return solid->Inside(pos);
55}
virtual EInside Inside(const G4ThreeVector &p) const =0

◆ RelocateWithinVolume()

void G4VExternalNavigation::RelocateWithinVolume ( G4VPhysicalVolume * motherPhysical,
const G4ThreeVector & localPoint )
overridevirtual

Updates any relevant internal state to take account that the location has been moved to 'localPoint' and that it remains in the current (mother) physical volume 'motherPhysical'.

Note
Default action is do-nothing; only implemented by the concrete navigator class.
Parameters
[in]motherPhysicalVolume to be considered.
[in]localPointPoint to be checked.

Reimplemented from G4VNavigation.

Definition at line 61 of file G4VExternalNavigation.cc.

63{
64 // Default action is do-nothing
65 // A concrete external navigation class must update any relevant
66 // internal state to take account that
67 // - the location has been moved to 'localPoint'
68 // - which remains in the current (mother) physical volume motherPhysical
69 // ( provided for fast access and/or checking. )
70}

The documentation for this class was generated from the following files: