|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4ReplicaNavigation is a utility class for navigation in volumes containing a single G4PVParameterised volume for which voxels for the replicated volumes have been constructed. More...
#include <G4ReplicaNavigation.hh>
Public Member Functions | |
| G4ReplicaNavigation () | |
| ~G4ReplicaNavigation ()=default | |
| G4bool | LevelLocate (G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint) |
| G4double | ComputeStep (const G4ThreeVector &globalPoint, const G4ThreeVector &globalDirection, const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double currentProposedStepLength, G4double &newSafety, G4NavigationHistory &history, G4bool &validExitNormal, G4bool &calculatedExitNormal, G4ThreeVector &exitNormal, G4bool &exiting, G4bool &entering, G4VPhysicalVolume *(*pBlockedPhysical), G4int &blockedReplicaNo) |
| G4double | ComputeSafety (const G4ThreeVector &globalPoint, const G4ThreeVector &localPoint, const G4NavigationHistory &history, const G4double pProposedMaxLength=DBL_MAX) const |
| EInside | BackLocate (G4NavigationHistory &history, const G4ThreeVector &globalPoint, G4ThreeVector &localPoint, const G4bool &exiting, G4bool ¬KnownInside) const |
| void | ComputeTransformation (const G4int replicaNo, G4VPhysicalVolume *pVol, G4ThreeVector &point) const |
| void | ComputeTransformation (const G4int replicaNo, G4VPhysicalVolume *pVol) const |
| EInside | Inside (const G4VPhysicalVolume *pVol, const G4int replicaNo, const G4ThreeVector &localPoint) const |
| G4double | DistanceToOut (const G4VPhysicalVolume *pVol, const G4int replicaNo, const G4ThreeVector &localPoint) const |
| G4double | DistanceToOut (const G4VPhysicalVolume *pVol, const G4int replicaNo, const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, G4ExitNormal &candidateNormal) const |
| G4int | GetVerboseLevel () const |
| void | SetVerboseLevel (G4int level) |
| void | CheckMode (G4bool mode) |
G4ReplicaNavigation is a utility class for navigation in volumes containing a single G4PVParameterised volume for which voxels for the replicated volumes have been constructed.
Definition at line 85 of file G4ReplicaNavigation.hh.
| G4ReplicaNavigation::G4ReplicaNavigation | ( | ) |
Constructor and default Destructor.
Definition at line 52 of file G4ReplicaNavigation.cc.
|
default |
| EInside G4ReplicaNavigation::BackLocate | ( | G4NavigationHistory & | history, |
| const G4ThreeVector & | globalPoint, | ||
| G4ThreeVector & | localPoint, | ||
| const G4bool & | exiting, | ||
| G4bool & | notKnownInside ) const |
Locates the specified point in the local/global coordinate system. The localpoint utilised must be within the current volume.
| [in] | history | Navigation history. |
| [in] | globalPoint | Global point. |
| [in] | localPoint | Local point. |
| [in,out] | exiting | Flag to indicate whether exiting a volume. |
| [in,out] | notKnownInside | Flag to indicate whether exiting replica. |
Definition at line 1237 of file G4ReplicaNavigation.cc.
|
inline |
Run navigation in "check-mode", therefore using additional verifications and more strict correctness conditions.
| [in] | mode | Flag to enable/disable check-mode. |
| G4double G4ReplicaNavigation::ComputeSafety | ( | const G4ThreeVector & | globalPoint, |
| const G4ThreeVector & | localPoint, | ||
| const G4NavigationHistory & | history, | ||
| const G4double | pProposedMaxLength = DBL_MAX ) const |
Calculates the isotropic distance to the nearest boundary from the specified point in the local/global coordinate system. The localpoint utilised must be within the current volume.
| [in] | globalPoint | Global point. |
| [in] | localPoint | Local point. |
| [in] | history | Navigation history. |
| [in] | pProposedMaxLength | Maximum step length beyond which volumes need not be checked. |
Definition at line 1148 of file G4ReplicaNavigation.cc.
| G4double G4ReplicaNavigation::ComputeStep | ( | const G4ThreeVector & | globalPoint, |
| const G4ThreeVector & | globalDirection, | ||
| const G4ThreeVector & | localPoint, | ||
| const G4ThreeVector & | localDirection, | ||
| const G4double | currentProposedStepLength, | ||
| G4double & | newSafety, | ||
| G4NavigationHistory & | history, | ||
| G4bool & | validExitNormal, | ||
| G4bool & | calculatedExitNormal, | ||
| G4ThreeVector & | exitNormal, | ||
| G4bool & | exiting, | ||
| G4bool & | entering, | ||
| G4VPhysicalVolume ** | pBlockedPhysical, | ||
| G4int & | blockedReplicaNo ) |
Computes the length of a step to the next boundary. Do not test against pBlockedPhysical. Identify the next candidate volume (if a daughter of the current volume), and return it in: pBlockedPhysical, blockedReplicaNo.
| [in] | globalPoint | Global point. |
| [in] | globalDirection | Global direction vector. |
| [in] | localPoint | Local point. |
| [in] | localDirection | Local direction vector. |
| [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] | exiting | Flag to indicate whether exiting a volume. |
| [in,out] | entering | Flag to indicate whether entering a volume. |
| [in,out] | pBlockedPhysical | Blocked physical volume that should be ignored in queries. |
| [in,out] | blockedReplicaNo | Copy number for blocked replica volumes. |
localDirection. Definition at line 740 of file G4ReplicaNavigation.cc.
| void G4ReplicaNavigation::ComputeTransformation | ( | const G4int | replicaNo, |
| G4VPhysicalVolume * | pVol ) const |
Setups transformation into local system.
Definition at line 696 of file G4ReplicaNavigation.cc.
| void G4ReplicaNavigation::ComputeTransformation | ( | const G4int | replicaNo, |
| G4VPhysicalVolume * | pVol, | ||
| G4ThreeVector & | point ) const |
Setups transformation and transform point into local system.
Definition at line 640 of file G4ReplicaNavigation.cc.
| G4double G4ReplicaNavigation::DistanceToOut | ( | const G4VPhysicalVolume * | pVol, |
| const G4int | replicaNo, | ||
| const G4ThreeVector & | localPoint ) const |
Estimates the isotropic distance to exit the reference volume from the provided local point.
| [in] | pVol | Pointer to the reference volume. |
| [in] | replicaNo | Replica number of current volume. |
| [in] | localPoint | Point in local coordinates system. |
Definition at line 174 of file G4ReplicaNavigation.cc.
Referenced by ComputeSafety(), and ComputeStep().
| G4double G4ReplicaNavigation::DistanceToOut | ( | const G4VPhysicalVolume * | pVol, |
| const G4int | replicaNo, | ||
| const G4ThreeVector & | localPoint, | ||
| const G4ThreeVector & | localDirection, | ||
| G4ExitNormal & | candidateNormal ) const |
Calculates the distance to exit the reference volume from the provided local point, given its direction.
| [in] | pVol | Pointer to the reference volume. |
| [in] | replicaNo | Replica number of current volume. |
| [in] | localPoint | Point in local coordinates system. |
| [in] | localDirection | The local direction. |
| [in,out] | candidateNormal | The candidate exit notmal. |
Definition at line 240 of file G4ReplicaNavigation.cc.
|
inline |
Verbosity control.
| EInside G4ReplicaNavigation::Inside | ( | const G4VPhysicalVolume * | pVol, |
| const G4int | replicaNo, | ||
| const G4ThreeVector & | localPoint ) const |
Computes if local point point is inside the reference volume or not.
| [in] | pVol | Pointer to the reference volume. |
| [in] | replicaNo | Replica number of current volume. |
| [in] | localPoint | Point in local coordinates system. |
Definition at line 68 of file G4ReplicaNavigation.cc.
Referenced by BackLocate().
|
inline |
Searches 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 to be ignored in queries. |
| [in,out] | blockedNum | Copy number for blocked replica volumes. |
| [in,out] | globalPoint | Point in global coordinates system. |
| [in,out] | globalDirection | Pointer to global direction or null. |
| [in,out] | localPoint | Point in local coordinates system. |
|
inline |