Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
|
#include <G4VoxelNavigation.hh>
Public Member Functions | |
G4VoxelNavigation () | |
virtual | ~G4VoxelNavigation () |
G4SmartVoxelNode * | VoxelLocate (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint) |
virtual G4bool | LevelLocate (G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint) override |
virtual G4double | ComputeStep (const G4ThreeVector &globalPoint, const G4ThreeVector &globalDirection, const G4double currentProposedStepLength, G4double &newSafety, G4NavigationHistory &history, G4bool &validExitNormal, G4ThreeVector &exitNormal, G4bool &exiting, G4bool &entering, G4VPhysicalVolume *(*pBlockedPhysical), G4int &blockedReplicaNo) override |
virtual G4double | ComputeSafety (const G4ThreeVector &globalpoint, const G4NavigationHistory &history, const G4double pMaxLength=DBL_MAX) override |
virtual void | RelocateWithinVolume (G4VPhysicalVolume *motherPhysical, const G4ThreeVector &localPoint) override |
virtual G4int | GetVerboseLevel () const override |
virtual void | SetVerboseLevel (G4int level) override |
void | EnableBestSafety (G4bool flag=false) |
Public Member Functions inherited from G4VNavigation | |
virtual | ~G4VNavigation () |
void | CheckMode (G4bool mode) |
Protected Member Functions | |
G4double | ComputeVoxelSafety (const G4ThreeVector &localPoint) const |
G4bool | LocateNextVoxel (const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double currentStep) |
G4SmartVoxelNode * | VoxelLocateLight (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint) const |
Protected Attributes | |
G4BlockingList | fBList |
G4int | fVoxelDepth = -1 |
std::vector< EAxis > | fVoxelAxisStack |
std::vector< G4int > | fVoxelNoSlicesStack |
std::vector< G4double > | fVoxelSliceWidthStack |
std::vector< G4int > | fVoxelNodeNoStack |
std::vector< G4SmartVoxelHeader * > | fVoxelHeaderStack |
G4SmartVoxelNode * | fVoxelNode = nullptr |
G4VoxelSafety * | fpVoxelSafety = nullptr |
G4double | fHalfTolerance |
G4bool | fBestSafety = false |
G4NavigationLogger * | fLogger |
Protected Attributes inherited from G4VNavigation | |
G4int | fVerbose = 0 |
G4bool | fCheck = false |
Definition at line 64 of file G4VoxelNavigation.hh.
G4VoxelNavigation::G4VoxelNavigation | ( | ) |
Definition at line 44 of file G4VoxelNavigation.cc.
|
virtual |
Definition at line 64 of file G4VoxelNavigation.cc.
|
overridevirtual |
Compute the distance to the closest surface.
[in] | globalPoint | Global point. |
[in] | history | Navigation history. |
[in] | pMaxLength | Maximum step length beyond which volumes need not be checked. |
Implements G4VNavigation.
Reimplemented in G4ParameterisedNavigation.
Definition at line 646 of file G4VoxelNavigation.cc.
Referenced by G4ITNavigator1::ComputeSafety(), and G4ITNavigator2::ComputeSafety().
|
overridevirtual |
Compute the length of a step to the next boundary. Do not test against pBlockedPhysical
. Identify the next candidate volume (if a daughter of current volume), and return it in pBlockedPhysical, blockedReplicaNo.
[in] | localPoint | Local point |
[in] | localDirection | Pointer to local direction or null pointer. |
[in] | currentProposedStepLength | Current proposed step length. |
[in,out] | newSafety | New safety. |
[in,out] | history | Navigation history. |
[in,out] | validExitNormal | Flag to indicate whether exit normal is valid or not. |
[in,out] | exitNormal | Exit normal. |
[in,out] | entering | Flag to indicate whether we are entering a volume. |
[in,out] | exiting | Flag to indicate whether we are exiting a volume. |
[in,out] | pBlockedPhysical | Blocked physical volume that should be ignored in queries. |
[in,out] | blockedReplicaNo | Copy number for blocked replica volumes. |
localDirection
. Implements G4VNavigation.
Reimplemented in G4ParameterisedNavigation.
Definition at line 88 of file G4VoxelNavigation.cc.
Referenced by G4ITNavigator1::ComputeStep(), G4ITNavigator2::ComputeStep(), and G4Navigator::ComputeStep().
|
protected |
Definition at line 385 of file G4VoxelNavigation.cc.
Referenced by ComputeSafety(), and ComputeStep().
|
inline |
|
overridevirtual |
Get current verbosity level
Reimplemented from G4VNavigation.
|
overridevirtual |
Search positioned volumes in mother at current top level of history
for volume containing globalPoint
. Do not test against blockedVol
. If a containing volume is found, push it onto navigation history state.
[in,out] | history | Navigation history. |
[in,out] | blockedVol | Blocked volume that should be ignored in queries. |
[in,out] | blockedNum | Copy number for blocked replica volumes. |
[in,out] | globalPoint | Global point |
[in,out] | globalDirection | Pointer to global direction or null pointer. |
[in,out] | localPoint | = global point in local system on entry, point in new system on exit. |
Implements G4VNavigation.
Reimplemented in G4ParameterisedNavigation.
Referenced by G4ITNavigator1::LocateGlobalPointAndSetup(), G4ITNavigator2::LocateGlobalPointAndSetup(), and G4Navigator::LocateGlobalPointAndSetup().
|
protected |
Definition at line 474 of file G4VoxelNavigation.cc.
Referenced by ComputeStep().
|
overridevirtual |
Update internal navigation state to take into account that location has been moved, but remains within the motherPhysical
volume.
[in] | motherPhysical | Current physical volume. |
[in] | localPoint | Local point. |
Reimplemented from G4VNavigation.
Reimplemented in G4ParameterisedNavigation.
Definition at line 765 of file G4VoxelNavigation.cc.
Referenced by G4Navigator::LocateGlobalPointWithinVolume().
|
overridevirtual |
Set current verbosity level
Reimplemented from G4VNavigation.
Definition at line 780 of file G4VoxelNavigation.cc.
Referenced by G4VoxelNavigation().
G4SmartVoxelNode * G4VoxelNavigation::VoxelLocate | ( | G4SmartVoxelHeader * | pHead, |
const G4ThreeVector & | localPoint ) |
|
protected |
|
protected |
Definition at line 184 of file G4VoxelNavigation.hh.
Referenced by ComputeSafety().
|
protected |
Definition at line 145 of file G4VoxelNavigation.hh.
Referenced by G4ParameterisedNavigation::ComputeStep(), and ComputeStep().
|
protected |
Definition at line 181 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation(), and LocateNextVoxel().
|
protected |
Definition at line 186 of file G4VoxelNavigation.hh.
Referenced by ComputeSafety(), G4ParameterisedNavigation::ComputeStep(), ComputeStep(), G4VoxelNavigation(), SetVerboseLevel(), and ~G4VoxelNavigation().
|
protected |
Definition at line 178 of file G4VoxelNavigation.hh.
Referenced by ComputeSafety(), G4VoxelNavigation(), SetVerboseLevel(), and ~G4VoxelNavigation().
|
protected |
Definition at line 156 of file G4VoxelNavigation.hh.
Referenced by ComputeVoxelSafety(), and LocateNextVoxel().
|
protected |
Definition at line 152 of file G4VoxelNavigation.hh.
Referenced by ComputeVoxelSafety(), and LocateNextVoxel().
|
protected |
Definition at line 168 of file G4VoxelNavigation.hh.
Referenced by ComputeVoxelSafety(), and LocateNextVoxel().
|
protected |
Definition at line 171 of file G4VoxelNavigation.hh.
Referenced by G4ParameterisedNavigation::ComputeSafety(), ComputeSafety(), G4ParameterisedNavigation::ComputeStep(), ComputeStep(), ComputeVoxelSafety(), and LocateNextVoxel().
|
protected |
Definition at line 165 of file G4VoxelNavigation.hh.
Referenced by ComputeVoxelSafety(), and LocateNextVoxel().
|
protected |
Definition at line 159 of file G4VoxelNavigation.hh.
Referenced by LocateNextVoxel().
|
protected |
Definition at line 162 of file G4VoxelNavigation.hh.
Referenced by ComputeVoxelSafety(), and LocateNextVoxel().